VBA:将Excel工作表复制到其他工作簿中

VBA:将Excel工作表复制到其他工作簿中,excel,vba,Excel,Vba,我试图用VBA自动化一个过程,但有一点我已经坚持了很长时间了 我有两本Excel工作簿,我们称之为: 2018\u W78\u工作簿 20180913_Z28 2018 这些工作簿确实有变量名。 我的意思是,第一本工作簿每年都会更改名称。 例如,2019\u W78\u工作簿变为2020\u W78\u工作簿等等 第二个工作簿每月更改名称 前8个字母每个月都会变化 接下来的4个字母总是相同的 最后4个每年都会改变 每个工作簿的工作表都有固定的标题 我这样说是因为总是不同的标题使得不可能

我试图用VBA自动化一个过程,但有一点我已经坚持了很长时间了

我有两本Excel工作簿,我们称之为:

  • 2018\u W78\u工作簿
  • 20180913_Z28 2018
这些工作簿确实有变量名。
我的意思是,第一本工作簿每年都会更改名称。
例如,
2019\u W78\u工作簿
变为
2020\u W78\u工作簿
等等


第二个工作簿每月更改名称

  • 前8个字母每个月都会变化
  • 接下来的4个字母总是相同的
  • 最后4个每年都会改变
每个工作簿的工作表都有固定的标题

我这样说是因为总是不同的标题使得不可能通过录制来完成这个宏

现在的任务是将
20180913_Z28 2018
工作表A
)的工作表复制到
2018_W78_工作簿


这两个工作簿将是执行宏时唯一打开的工作簿。

我以前在类似的设置中使用过它

试着:

Sub sheetCopyTransfer()

   Dim wbS As Workbook, wbT As Workbook
   Dim wsS As Worksheet, wsT As Worksheet
   Dim chgTitle As String
'<<This will help you work with the underscores and numericals in the name

   chgTitle = ThisWorkbook.Worksheets("IR General Info").Range("B2").Text

   Set wsS = ThisWorkbook.Worksheets("Bulk Upload")

   wsS.Copy
   ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & title & ".xlsx" 'This will save it where you current workbook is with the new saved title (of the worksheet)
   Set wbT = excel.workbooks(title & ".xlsx") 'assign reference 

   Set wsT = wbT.Worksheets("Bulk Upload")
   wsT.Name = "Exported_BulkUpload"


End Sub
Sub-sheetCopyTransfer()
将wbS设置为工作簿,将wbT设置为工作簿
将wsS作为工作表,wsT作为工作表
Dim chgTitle作为字符串

“我以前在类似的环境中使用过这个

试着:

Sub sheetCopyTransfer()

   Dim wbS As Workbook, wbT As Workbook
   Dim wsS As Worksheet, wsT As Worksheet
   Dim chgTitle As String
'<<This will help you work with the underscores and numericals in the name

   chgTitle = ThisWorkbook.Worksheets("IR General Info").Range("B2").Text

   Set wsS = ThisWorkbook.Worksheets("Bulk Upload")

   wsS.Copy
   ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & title & ".xlsx" 'This will save it where you current workbook is with the new saved title (of the worksheet)
   Set wbT = excel.workbooks(title & ".xlsx") 'assign reference 

   Set wsT = wbT.Worksheets("Bulk Upload")
   wsT.Name = "Exported_BulkUpload"


End Sub
Sub-sheetCopyTransfer()
将wbS设置为工作簿,将wbT设置为工作簿
将wsS作为工作表,wsT作为工作表
Dim chgTitle作为字符串

'欢迎来到堆栈溢出!为了给你一个很好的答案,如果你还没有看一眼,它可能会帮助我们。如果您可以提供一个。欢迎使用堆栈溢出!为了给你一个很好的答案,如果你还没有看一眼,它可能会帮助我们。如果你能提供一个简单的例子,它可能也很有用。