我需要将当前工作簿中的所有工作表名称粘贴到具有相同工作表名称的新工作簿。 (没有数据。我只需要工作表名称。)
我试过跟随VBA,但它显示错误
“这个名字已经被采用了。” (运行时错误1004)
'Create new work book for Pivot
Dim Source As Workbook
Dim Pivot As Workbook
Set Source = ActiveWorkbook
Set Pivot = Workbooks.Add
Dim ws As Worksheet
For Each ws In Worksheets
'Create new worksheet in new excel
Dim Line As String
Line = ActiveSheet.Name
Pivot.Activate
Sheets.Add
ActiveSheet.Name = Line
Source.Activate
Next
你永远不会使用ws
所以Line
永远不会改变。还有you do not need to select or activate anything。最后,您应该使用他们来自的工作簿来鉴定您的Worksheets
等。
Dim Source As Workbook
Dim Pivot As Workbook
Set Source = ActiveWorkbook
Set Pivot = Workbooks.Add
Dim ws As Worksheet
For Each ws In Source.Worksheets
Pivot.Worksheets.Add.Name = ws.Name
Next
这不会保护您免受新工作簿中已有一个名称与您的工作表名称相同的工作表(例如Sheet1
)的情况,并且它将保留新工作簿默认的任何工作表(由Application.SheetsInNewWorkbook
控制)属性)。