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
はイエスシート名は(nは、1)それ のSelect Case wc.Cellsエルス ケース "PK" SHEETNAME = "ピーク" ケース "Sfactor" SHEETNAME = "SFサプライ" ケースのコードを入れidint、存在します SheetName = wc.Cells(n、1) End Select – bacotico