![](/img/trans.png)
[英]VBA Macro to copy/paste cell value from sheet 1 to 2 based on date
[英]VBA code to copy from a variable sheet name based on cell value
希望我能得到一些帮助,因为我有点迷茫!
我有一个主模板和一个用户模板。 多个 (10+) 用户将提交他们的工作表。
用户有一个他们完成的“提交”选项卡。 当他们提交工作表时,它会在他们的文件中创建一个新选项卡,并将他们提交的值粘贴到新选项卡中(以便不保留公式)并根据它对应的每月提交来命名新选项卡,即 ' 1 月 19 日'
然后,我希望使用宏将他们提交的特定列复制到我的主文件中,但是在 1 月我将从 1 月 19 日选项卡中复制,而在 2 月我将从 2 月 19 日选项卡中复制。 因此,在我的宏中,我正在努力想出正确的代码,其中工作表名称将根据月份名称而变化。
目前我有以下代码:
Dim OpenFileName As String
Dim wb As Workbook
'Select and Open workbook
OpenFileName = Application.GetOpenFilename(",*.xlsm")
If OpenFileName = "False" Then Exit Sub
Set wb = Workbooks.Open(OpenFileName)
ThisWorkbook.Sheets("User 1").Range("B19:B36").Value = wb.Sheets("***Variable month name***").Range("B19:B36").Value
ThisWorkbook.Sheets("Control").Range("D15") = Now
wb.Close
您能提供的任何帮助将不胜感激!
当月使用
Format(Now,"mmm-yy")
这会给你Feb-20
。 所以将它合并到你的代码中
wb.Sheets(Format(Now,"mmm-yy"))
对于特定的月/年使用
Dim dt As Date
Dim m As Long, y As Long
m = 2 '<~~ Feb (Month)
y = 2019 '<~~ Year
dt = DateSerial(y, m, 1)
用法是
wb.Sheets(Format(dt,"mmm-yy"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.