如何使用excel vba仅将选定的工作表复制到我的工作簿中?

如何使用excel vba仅将选定的工作表复制到我的工作簿中?,vba,excel,Vba,Excel,很抱歉问这个问题,因为我对excel VBA一无所知。 让我就我的问题作一个简短的说明 我有一个外部工作簿,其中包含选项卡名为a、b、c、d、e和f的工作表。我只想将工作表a、b和c复制到我自己的工作簿中。问题是,a、b和c并不总是存在。 有时工作簿只有a和b,或a和c,或b和c,甚至只有一张工作表a 我可以知道如何应用excel VBA检查工作表a、b和c,并将它们复制到我的工作簿中(如果存在) 谢谢 干杯, 补丁下面的内容应该能够帮助您,您可以使用OR语句添加更多的工作表。下面的宏将文件附加

很抱歉问这个问题,因为我对excel VBA一无所知。 让我就我的问题作一个简短的说明

我有一个外部工作簿,其中包含选项卡名为a、b、c、d、e和f的工作表。我只想将工作表a、b和c复制到我自己的工作簿中。问题是,a、b和c并不总是存在。 有时工作簿只有a和b,或a和c,或b和c,甚至只有一张工作表a

我可以知道如何应用excel VBA检查工作表a、b和c,并将它们复制到我的工作簿中(如果存在)

谢谢

干杯,
补丁

下面的内容应该能够帮助您,您可以使用OR语句添加更多的工作表。下面的宏将文件附加到另一个工作簿的末尾。此宏将打开另一个工作簿,如果不需要,可以删除.Open参数

代码未经测试,但看起来可以工作

Sub TestMacro()

Dim wb, wbData As Workbook
Dim sh As Worksheet

Set wb = ActiveWorkbook
Set wbData = Workbooks.Open("<Your file address and name here>")

For Each sh In wb.Worksheets
    If sh.Name Like "a" _
        Or sh.Name Like "b" _
        Or sh.Name Like "c" Then sh.Copy Before:=wbData.Sheets(wbData.Sheets.Count)
Next

End Sub
Sub TestMacro()
Dim wb,wbData作为工作簿
将sh设置为工作表
设置wb=ActiveWorkbook
设置wbData=工作簿。打开(“”)
对于wb.工作表中的每个sh
如果sh.名称像“a”_
或者像“b”这样的名字_
或者像“c”这样的sh.Name,然后在前面复制sh.Copy:=wbData.Sheets(wbData.Sheets.Count)
下一个
端接头