• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:vba ブック間でシート名のコピーをするには)

VBAでブック間のシート名のコピーと貼り付け

このQ&Aのポイント
  • Excel VBAを使用して、2つのブック間でシート名のコピーと貼り付けを行う方法をご教授します。
  • 2つのブックが開いており、一方のブックにはデータがあり、もう一方のブックは空の状態です。
  • データのあるブックの各シートのシート名を空のブックのシートにコピーして貼り付ける方法を解説します。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

sub macro1()  dim wb1 as workbook  dim w2 as worksheet  dim i as long ’2つのブックは既に開いている事  set wb1 = workbooks("オリジナルブック.xlsm") ’拡張子まで正しく指定する事  set w2 = workbooks("貼り付け先ブック.xlsx").worksheets(1) ’同上 ’準備  w2.range("A:A").clearcontents  w2.range("A:A").numberformat = "@"  w2.range("A1") = "シート名一覧" ’転記  for i = 1 to wb1.worksheets.count  if wb1.worksheets(i).name = "Sheet1" then exit for  w2.range("A65536").end(xlup).offset(1) = wb1.worksheets(i).name  next end sub

kalafina2
質問者

お礼

ありがとうございます。 うまく動作しました。

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim wb1 as workbook  dim wb2 as workbook  dim i as long ’2つのブックは既に開いている事  set wb1 = workbooks("オリジナルブック.xlsm") ’拡張子まで正しく指定する事  set wb2 = workbooks("貼り付け先ブック.xlsx") ’同上 ’準備  wb2.worksheets("シート名").range("A:A").clearcontents  wb2.worksheets("シート名").range("A:A").numberformat = "@"  wb2.worksheets("シート名").range("A1") = "シート名一覧" ’転記  for i = 1 to wb1.worksheets.count  if wb1.worksheets(i).name = "Sheet1" then exit for  wb2.worksheets("シート名").range("A65536").end(xlup).offset(1) = wb1.worksheets(i).name  next end sub

kalafina2
質問者

補足

回答ありがとうございます。 補足させて頂きます。 シート名ですが、特定できてる訳ではありません。毎回、シート名が違います。 毎回違うシート名を取得できたら理想的なんですが、可能でしょうか?

関連するQ&A

専門家に質問してみよう