VBAマクロで複数のブックにあるシートを1つのブックにまとめるコードを紹介します。
コードをコピーすればすぐに使えます。
選択範囲を全シートへコピー
Sheet1のセルA1:C2を選択して実行
A | B | C | D | E | |
1 | aaa | bbb | ccc | ||
2 | ddd | eee | fff |
実行後
全てのシートのセルA1:C2同じ内容を貼り付け
A | B | C | D | E | |
1 | aaa | bbb | ccc | ||
2 | ddd | eee | fff |
Sub 選択範囲を全シートへコピーする() データ = Selection 最初行 = Selection(1).Row 最初列 = Selection(1).Column 最終行 = Selection(Selection.Count).Row 最終列 = Selection(Selection.Count).Column For シートカウント = 1 To Worksheets.Count Worksheets(シートカウント).Activate Range(Cells(最初行, 最初列), Cells(最終行, 最終列)) = データ Next End Sub
選択範囲を好きなシートへコピー
Sheet1のセルA1:C2を選択して実行
A | B | C | D | E | |
1 | aaa | bbb | ccc | ||
2 | ddd | eee | fff |
貼り付けたいシート名を入力する
実行後
Sheet2のセルA1:C2同じ内容を貼り付け
A | B | C | D | E | |
1 | aaa | bbb | ccc | ||
2 | ddd | eee | fff |
Sub 選択範囲を好きなシートへコピーする() データ = Selection 最初行 = Selection(1).Row 最初列 = Selection(1).Column 最終行 = Selection(Selection.Count).Row 最終列 = Selection(Selection.Count).Column 検索文字 = "*" & InputBox(prompt:="コピー先のシート名を入力してください。デフォルトは全て", Default:="*") & "*" For シートカウント = 1 To Worksheets.Count If Worksheets(シートカウント).Name Like 検索文字 Then Worksheets(シートカウント).Activate Range(Cells(最初行, 最初列), Cells(最終行, 最終列)) = データ End If Next End Sub
VBAはどうやって覚える?
プログラムのコードが読めないと、参考にしているコードの理解や自分でプログラムを書くときに時間がかかってしまいます。そんな時は基礎から学ぶと応用もできるようになり自分の作りたいプログラムがスムーズに作れるようになります。
無料でやるならネット上の学習サイトを参考にするといいです。
こちらはVBAの基礎から説明している無料のWEBサイトになります。
>>基礎から学べるWEBサイトを見てみる
過去にネットでの学習でつまずいた方には専門書をオススメします。
本なら基礎から学べる事はもちろん、読者視点で分かりやすい解説になっています。
一人で集中してコツコツ進めたい方は書籍を試してください。
本を読んでもわからない所が多すぎたり、誰かに質問したい場合はオンラインスクールを見てみましょう。
カウンセリングから目的に応じた学習プランと教材を提供してくれるので、プログラミングの敷居がとても低くなります。
誰かに相談できるのは心強いです。
>>オンラインスクールを無料体験で始める