使用VBA将工作表复制到其他工作簿
问题描述:
我试图从VBA所在的工作簿(ThisWorkbook)中复制工作表,并将其过滤到用户已打开的其他工作簿(ActiveWorkbook)中。我已经写了一个函数,但我无法让它工作。我之前做过类似的事情,而且我搜索了互联网,但是我找不到解决方案或者为什么它会让我失望。我究竟做错了什么?使用VBA将工作表复制到其他工作簿
Function workBooks() As String
aWbkName = ActiveWorkbook.Name
tWbkName = ThisWorkbook.Name
Dim wbk1 As Workbook
Dim wbk2 As Workbook
Set wbk1 = tWbkName
Set wbk2 = aWbkName
wbk1.Sheet2.Copy After:=wbk2.Sheets(7)
End Function
答
试试这个,看看它是否工作。这将在工作表Sheet ThisWorkbook
后在ActiveWorkbook
Option Explicit
Public Sub copy_sheet()
Dim source_worksheet As Worksheet
Set source_worksheet = ThisWorkbook.Worksheets("Sheet2")
Dim target_worksheet As Worksheet
Set target_worksheet = ActiveWorkbook.Worksheets("Sheet1")
source_worksheet.Copy After:=target_worksheet
End Sub
答
你并不需要所有的变量变暗和分配:
Sub workBooks()
ThisWorkbook.Sheet2.Copy After:=ActiveWorkbook.Sheets(7)
End Sub
+1
我会感谢害羞的downvoter解释如何改进我的答案。谢谢 – user3598756
'Workbook' 'String' Sheet2的复制并粘贴,使用'设置wbk1 =工作簿(tWbkName)' – cyboashu
更多这里例子http://stackoverflow.com/a/34886033/4539709 – 0m3r