教えてください。
「A」「B」「C」「D」「E」「F」「G」
と言った名前のエクセルファイルがあります。
実際は約50個ありますが・・・。
それぞれ、Sheet1にのみ同じフォーマットですが、行数というか、件数が異なります。
新しいエクセルブックのSheet1にA」のデータの下に「B」のデータを貼り付けるという風に、「A」~「G」をまとめて一つのシートにまとめたいです。コピペではなくマクロでできるということを知りました。
毎月作業することになるので、マクロを組んでおきたいと思っています。
しかし、マクロは単純作業を記録して実行するというような基本的なことしかわかりません。
専門的用語ではなく、
(1)ツールをクリック
(2)すべてのブックを開いておく
(3)Visual Basicをクリック
などというように、手順を教えていただけないでしょうか?
よろしくお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
VBエディターの起動はご存知でしょうか
ツールー>マクロー>VBエディター で起動します。
標準モジュールを挿入します。
エディターの 挿入ー>標準モジュール でVBA記述する部分ができます。
下をコピイして貼り付けてください。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCopyMode = False
Workbooks(buf).Close SaveChanges:=False
buf = Dir()
Loop
End Sub
エディターを閉じます。
このファイルのSheet1のA1セルに「A」「B」「C」「D」「E」「F」「G」を保存しているパスを入れます。
C:\データ とかです。
Sheet1以外のシートを選択して 上記マクロを実行してみてください。
Dir関数は少し特別ですが
Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
A1セルで指定したパスのエクセルファイル(*.xls)のファイル名が全て変数 bufに入ります。
buf = Dir()で順番にファイルが取り出せます。
データを保存したフォルダには他のエクセルファイルは保存しておかないでください。(それらも追加されます)
Range("A1:J1000").Copy それぞれのファイルのデータがA列から始まり最大J列 1000行まであるとしています。
Sheets("Sheet1").Range("A1:J1000").Copyの"Sheet1"はデータのファイルのシート名です。
必要に応じて変更してください。
例えば1行目にタイトルがあってコピイ不要であれば
Range("A2:J1000").Copy とかにします。
Range("A65536").End(xlUp).Offset(1, 0).Selectは
A列の最終の行から順に上に上がり空白でない行の1つ上の行です。
あとは
なんとなく動きとコマンドを日本語にしてみるとわかるかもしれませんが詳しくはVBAの本を参考にしてください。
詳しく書こうとすると難しくなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
e-taxで送信ファイルの拡張子が...
-
個別に違う添付ファイルを付け...
-
ガラケーからPCへの写真の取り込み
-
エクセルで「特定の文字を含む...
-
リストビューの選択状態を取得...
-
エアコンの冷媒 R410Aの重...
-
A4の紙に印刷されている文字を...
-
TextBoxにフォーカスを与えると...
-
VBS フォルダ内にあるすべての...
-
複数のブックを新しいブックのS...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
スマホでtxtファイルを編集する...
-
RSSフィードと無断転載について
-
vba メモリ節約
-
プロがDreamWeaverを使わない理...
-
自作扉の材料は何がいい?集成...
-
[IE5.5]INPUT TYPE=FILEのREADO...
-
VHDLを書くときのエディタにつ...
-
拡張子「.IDJ」を、windo...
-
リストビューで選択行の背景を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
e-taxで送信ファイルの拡張子が...
-
個別に違う添付ファイルを付け...
-
Fortniteのクラッシュについて
-
A4の紙に印刷されている文字を...
-
エクセルで「特定の文字を含む...
-
ガラケーからPCへの写真の取り込み
-
スマホでtxtファイルを編集する...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
PC内で速度を遅くした音源をCD...
-
エアコンの冷媒 R410Aの重...
-
ビデオファイルのプロパティの...
-
拡張子「.IDJ」を、windo...
-
ファイル数と合計サイズの取得方法
-
VBA:カウンターの i の値が開放...
-
情けない話ですが成田エクスプ...
-
2枚、マイクロSDカードを入...
-
garagebandのLR Mixの方法について
-
stdio.hの中身
-
flash (.swf) を編集したい
-
TextBoxにフォーカスを与えると...
おすすめ情報