1
我正在將大量工作簿複製到1個工作簿,但由於不同工作簿上的所有工作表都具有相同的名稱,並且每個工作簿都有在B1的文件名,所以我要來命名新的表爲「違反(名稱)」將工作表複製到新工作簿並將工作表名稱更改爲撰寫名稱
這些是我對那部分代碼
Dim wc As Worksheet
Dim ws As Worksheet
Dim SheetNewName As String
Dim Parname As String
Dim SheetName As String
Select Case wc.Cells(n, 1)
Case "PK"
SheetName = "Peak"
Case "Sfactor"
SheetName = "SF Supply"
Case Else
SheetName = wc.Cells(n, 1)
End Select
Set ws = ThisWorkbook.Sheets("Sheet1")
Set wc = ActiveWorkbook.Sheets("Violations Summary")
Set Parname = wc.Range("B1")
Set SheetNewName = SheetName & "(" & Parname & ")"
ActiveWorkbook.Sheets(SheetName).Copy After:=ThisWorkbook.Sheets(1)
Set lastsheet = ThisWorkbook.Sheets(ThisWorkbook.Sheets.count).Select
lastsheet.Name = SheetNewName
我想時,你得到一個錯誤更改新工作簿上新工作表的名稱,錯誤爲
運行時錯誤 '13':類型不匹配
在這些線
Set SheetNewName = SheetName & "(" & Parname & ")"
但是如果我修改代碼,要像這些
Set Parname = wc.Range("B1")
Set SheetNewName = SheetName & "(" & Parname & ")"
ActiveWorkbook.Sheets(SheetName).Copy After:=ThisWorkbook.Sheets(1)
Set lastsheet = ThisWorkbook.Sheets(1).Select
lastsheet.Name = Parname
它複製的工作表,但不能更改名稱並獲得錯誤
運行時錯誤'1004': 應用程序定義或對象定義的錯誤
是否有問題被問到? SheetName不存在,因此您無法將SheetNewName設置爲它,除非它出現在代碼之前的其他位置? – QHarr
你的意思是使用wc.Name的部分字符串嗎? – QHarr
是SHEETNAME存在,idint把代碼爲它 選擇事例wc.Cells(N,1) 案例 「PK」 SHEETNAME = 「峯值」 案 「的S factor」 SHEETNAME = 「SF供應」 案例否則 SheetName = wc.Cells(n,1) End Select – bacotico