• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel2000マクロ_大量のシート名を楽に変更するマクロ)

Excel2000マクロ_大量のシート名を楽に変更するマクロ

このQ&Aのポイント
  • Excel2000マクロを使用して大量のシート名を簡単に変更する方法を教えてください。
  • 特定のファイルがアクティブな状態でマクロを実行し、そのファイル内のシート名を取得し、任意の名前に変更する方法を教えてください。
  • Excel2000でシート名を一括で変更するマクロを教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 あまり、独自のロジックを立てられると、回答が付けにくくなってしまいます。 ・やりたいことはdeta.xlsがアクティブの時に  (ブックが開いている限りは必要がありません) ・シート名変換.xls(マクロが書いてある)  (ThisWorkbookですから、名前は直接は関係ありません) この二つは、満足させていません。 また、 ・シート名変換.xlsの「シート名」という あまり、がっちり決める必要性がないような気がしています。 これは、ActiveSheet にしてありますから、問題があれば、出来れば、ご自身で直してください。ThisWorkbook.Worksheets("シート名") '--------------------------------- '相手側のブック名 Private Const MyBook As String = "deta.xls" Sub GetSheetsNames() 'シート名取得プログラム Dim i As Long Dim Bk1 As Workbook On Error GoTo ErrHandler Set Bk1 = Workbooks(MyBook) For i = 1 To Bk1.Sheets.Count  ActiveSheet.Cells(i, 1).Value = Bk1.Sheets(i).Name Next i ErrHandler:  Set Bk1 = Nothing End Sub '------------------------------------------------ Sub ChangeSheetsNames() 'シート名変更プログラム Dim i As Long Dim Bk1 As Workbook On Error GoTo ErrHandler Set Bk1 = Workbooks(MyBook) For i = 1 To Bk1.Sheets.Count If Bk1.Sheets(i).Name <> ActiveSheet.Cells(i, 1).Value _   And Cells(i, 1).Value <> "" Then  Bk1.Sheets(i).Name = ActiveSheet.Cells(i, 1).Value End If Next i ErrHandler:  Set Bk1 = Nothing End Sub

hibohibo
質問者

お礼

Wendy02様回答ありがとう御座います。 > あまり、独自のロジックを立てられると、回答が付けにくくなってしまいます。 そうですね、自分でマクロを書いたのですがマクロが書いて有るブックと操作される ブックの切り替えで頭がパンクしてこの質問に至りました、すみませんでした。(^^ゞ 今回も、勉強になる回答ありがとう御座いました。

すると、全ての回答が全文表示されます。

関連するQ&A