VBAでブック間のシート名のコピーと貼り付け
- Excel VBAを使用して、2つのブック間でシート名のコピーと貼り付けを行う方法をご教授します。
- 2つのブックが開いており、一方のブックにはデータがあり、もう一方のブックは空の状態です。
- データのあるブックの各シートのシート名を空のブックのシートにコピーして貼り付ける方法を解説します。
- ベストアンサー
vba ブック間でシート名のコピーをするには
始めまして、よろしくお願いします。 excel vba 初心者のものです。 2つのブックがあり同時に開いている状態です。1つのブックはデータがあります。 もう1つは空のブックです。 データのあるブックのシートには、 シート1のシート名は「8月1日」 シート2のシート名は「8月2日」 シート3のシート名は「8月4日」 シート4のシート名は「8月5日」 シート5のシート名は「Sheet1」 やりたいこと データ、シート名があるブックから、 空ブックのシートにシート名をコピーしてきてセルに貼り付けたいです。 シートに名前を付けてるシート数は不規則なので「Sheet1」まで来たら終了したいです。 どうぞご教授の程よろしくお願い申し上げます。
- kalafina2
- お礼率50% (4/8)
- Excel(エクセル)
- 回答数2
- ありがとう数1
- みんなの回答 (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/7940)
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
補足
回答ありがとうございます。 補足させて頂きます。 シート名ですが、特定できてる訳ではありません。毎回、シート名が違います。 毎回違うシート名を取得できたら理想的なんですが、可能でしょうか?
関連するQ&A
- エクセル(VBA)のブック間でのコピーペーストについて
こんにちは。VBA入門レベルのものですが、質問させてください。 ブックAとブックBを開いた状態にし、 ・ブックA⇒VBAを組む&データ貼付け先 ・ブックB⇒データコピー元 ブックBの特定セル(例:D10)からブックAの特定セル(例:E12)にコピー⇒貼付 する方法を探しています。 なお、ブックBは、ブック名とシート名が都度変わるので、「ブックAではない方の開いているエクセルファイルからデータをコピーし、ブックAに貼付ける」の構文にしたいです。 また、コピペの他に数式(イコール)で飛ぶ方式でもかまいません。 この内容でのVBAの記述方法が分かる方、どなたか教えて頂けますでしょうか。 すみませんがよろしくお願いいたします。 ※エクセル2003です。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでファイル・シート名を指定して、現在のブックのシートにコピーしたい
エクセルVBA独学中の超初心者です。 VBAを利用して以下のことがしたいのですが、わかりません。 助けて下さい。よろしくお願いいたします。 1. ファイルを選択する。 2. 1で選択したファイルから、シート名を選択する 3. 2で選択したシートを現在のブックのSheet1にコピーする
- 締切済み
- Visual Basic
- エクセルのVBAで、異なるブック間でのコピー&ペースト
こんばんは。 エクセルのVBAで、異なるブック間でのコピー&ペーストに関しての質問です。 現在アクティブになっているシートのB4セルをコピーして、 現在開いているシートのブックとは異なる特定の ブック(”Book1")の特定のシート(”Sheet1”)のC5セルに貼り付けたい場合、 ●●●の部分に何と表現すればよいか教えてください。 Range("B4").Copy Destination:=●●● よろしくお願いいたします。
- 締切済み
- Visual Basic
- Excel VBA別ブックのシートをコピーするには
Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls) VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが 別フォルダにもあります Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。
- ベストアンサー
- Visual Basic
- VBAでのワークシートコピー制御について
エクセル97でのVBAについてですが AというブックのデータをBというブックにコピーする時にシート名をブックAのA1の文字を使用しているのですが この時にコピーした場合にシート名がいままで使用したことのない文字の場合にはうまくいくのですが、スデに取得しているシート名の場合に実行時エラーが出てしまいます 出来ればスデに取得しているシート名の場合にはそのシートに上書きして、いままで取得していない場合には 新規にシートを新たにつくってそこにデータをコピーできるようなコードがわからなくて困っています だれかたすけて下さい
- 締切済み
- その他(データベース)
- エクセル)VBAで他のブックのセル参照
はじめまして。 エクセルのVBAについて教えてください。 VBAで、 book1のsheet1のセルA1にあるデータを開いていない(アクティブでない)別のbook2のsheet2のセルB1にコピーしたいのですがこんなことってできるのでしょうか? ・・やはり開いていないとダメなんでしょうか? あと、これって"ブック参照"っていうことなんでしょうか?自分がやりたいことが何なのか判らないので上手く調べる事が出来ず難儀しています。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ブック名を引きずらない数式のコピー
日付け毎にファイルされた実験データを整理していますが、数式の入ったセルをコピーすると、ブック名がついてコピーされてしまいます。 1)他のブックから数式の入った表をコピーしたとき、コピー元ブック名なしのシート名と関数のみをコピーする方法はありませんか。 2)指定した表内の参照シート名を一括して変える方法はありませんか。 3)実験を実施した毎にシートができています。 例えば、2月1日の3回目の実験データ: 070201(3) 集計表で、070201(x)のxを自動的に更新するセルコピー方法はありませんか。
- ベストアンサー
- オフィス系ソフト
- VBAでのブック・シートの保護・解除について
エクセル2010のVBAでのブック、シートの保護&解除の方法について教えて頂きたく、 質問させて頂きます。 消されては困るシートや数式がある関係で、ブックオープン時にVBAでブックとシートにそれぞれパスワードをかけて保護しています。 VBAではシートの削除、作成、コピーなどを行っているため、VBA実行時のみ、保護を解除させるようにしたいと思います。 ただ、対象のシート自体にも入力したい項目があるため、その箇所については保護を解除しておく必要があります。 そして、VBA実行後、再度、その箇所以外にパスワードで保護をかけ直します。 イメージとしては下記のような流れになります。 対象ブック:ブックA 対象シート:シート1 パスワード:1234(それぞれ) 常時保護を解除しておきたいセル:range("A6:H106") 1.(オープン時には、)ブック保護&特定のセル以外のシート保護 2.VBA実行時には全ての保護解除 3.VBA終了時に、1の状態に戻る どうぞよろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- エクセルVBAでブック間のコピーをしたい。
エクセルVBAでブック間のコピーをしたい。 エクセルのVBA初心者です。 複数のブックが開いている時(ブックA,B,C...)に、今選択しているブックAのあるセルを、直前に選んでいたブックBやC(そのつど変わります)にコピーする方法は有りますでしょうか? どなたか教えて下さい。
- ベストアンサー
- その他MS Office製品
- 複数sheet(可変)を別bookにコピーする
Excel VBAでの質問です。 わかる方ご回答いただけると幸いです。 例えば、 現在"9月"というExcelファイルを開いて作業しています。 sheetは"1"~”20”という、作りが同じsheetが20個あります。 <やりたいこと> ・各sheetのA1~D80のセルの値をすべてdeleteする (ただしsheetによってはA1セルの値を次月の同じsheetのK1セルにコピーする。 コピー後はA1セルの値はdeleteしてよい。) ・”10月”という名前のbookで新規で保存する(毎月名前は変わります) 現在、毎月月末にsheet"1"~"20"までのセルの値をすべて消して 次月に残す値をコピーペーストして”10月”というファイル名をつけて 保存するということを手作業しています。 上記をボタンひとつでやってくれるようなマクロがほしいのですが。 可能でしょうか?
- ベストアンサー
- Excel(エクセル)
お礼
ありがとうございます。 うまく動作しました。