Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于单元格值从可变图纸名称复制的VBA代码_Excel_Vba - Fatal编程技术网

Excel 基于单元格值从可变图纸名称复制的VBA代码

Excel 基于单元格值从可变图纸名称复制的VBA代码,excel,vba,Excel,Vba,希望我能得到一些帮助,因为我有点迷路了 我有一个主模板和一个用户模板。多个(10+以上)用户将提交他们的工作表 用户有一个他们完成的“提交”选项卡。当他们提交工作表时,工作表会在其文件中创建一个新选项卡,并将其提交的值粘贴到新选项卡中(以便不保留公式),并根据每月提交的内容(即“1月19日”)命名新选项卡 然后,我希望使用宏将他们提交的特定列复制到我的主文件中,但是在1月,我将从1月19日选项卡复制,在2月,我将从2月19日选项卡复制。因此,在我的宏中,我正在努力找到正确的代码,其中工作表名称将

希望我能得到一些帮助,因为我有点迷路了

我有一个主模板和一个用户模板。多个(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")
这将为您提供
2月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"))