繁体   English   中英

根据单元格值从可变工作表名称复制的 VBA 代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM