- ベストアンサー
VBAでブック間のシート名のコピーと貼り付け
- Excel VBAを使用して、2つのブック間でシート名のコピーと貼り付けを行う方法をご教授します。
- 2つのブックが開いており、一方のブックにはデータがあり、もう一方のブックは空の状態です。
- データのあるブックの各シートのシート名を空のブックのシートにコピーして貼り付ける方法を解説します。
- みんなの回答 (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
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7941)
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
補足
回答ありがとうございます。 補足させて頂きます。 シート名ですが、特定できてる訳ではありません。毎回、シート名が違います。 毎回違うシート名を取得できたら理想的なんですが、可能でしょうか?
お礼
ありがとうございます。 うまく動作しました。