
今、マクロを使って単純な作業を繰り返したいと思っているのですが、その中でいくつかわからない点があるので質問することにしました。
まず、貼り付けたい元データ(説明上data1と呼びます)が40種類あります。
これらは、すべて異なるファイル名をつけており、1つのフォルダ内に保存しています。
data1上のコピーをしたいと思っている場所は40種類ともすべて同じ場所(セルのH3)です。
これを、まったく新しいエクセルファイル(説明上resultと呼びます)に貼り付けたいと思っています。
このとき、data1の40種類のデータをresultのシート上にA1から順番に縦に並べていきたいと思っています。
この作業をdata1のファイル数である40回繰り返したいと思っているのですが、どうすればいいのでしょうか。
回答をお願いします。
No.3ベストアンサー
- 回答日時:
データのコピー元およびコピー先を明確に書いていただいてないので適当に作成しtwみました。
以下の前提です。
元データはすべて同じフォルダ内にあるBOOKの1枚目(一番左)のシート(名前を問わない)のH3セルにある。
あなたがresultと呼んだコピー先のBOOKの1枚目(一番左)のシートのA1セル以降に順番に貼り付ける。
それでよければ以下のマクロをresultと呼んだコピー先のBOOKの標準モジュールに貼り付け、元データと同じフォルダ内に保存してください。
マクロは書いたことは無くとも、標準モジュールに貼り付けるくらいはできるんですよね?
Sub TEST01()
Dim myFn As String
Dim i As Long
Dim wb As Workbook '以上変数宣言
Application.ScreenUpdating = False '画面更新一時停止
myFn = Dir(ThisWorkbook.Path & "\*.xls?") 'エクセルBOOK検索
Do While myFn <> "" '対象が存在する限り続行
If myFn <> ThisWorkbook.Name Then 'ファイル名がresultの名と違っていれば
Set wb = Workbooks.Open(ThisWorkbook.Path & "\" & myFn) '開く
i = i + 1 'カウント
wb.Worksheets(1).Range("H3").Copy ThisWorkbook.Worksheets(1).Cells(i, "A") 'コピペ
wb.Close False '閉じる
End If
myFn = Dir() '次検索
Loop '繰り返し
Application.ScreenUpdating = True '画面更新停止解除
End Sub
ALT+F8キーでマクロを呼び出し、TEST01を実行してみてください。
わざわざプログラムまで組んでくださって本当にありがとうございます。
こちらのプログラムを用いたことでとてもスムーズに作業が進みました。
本当に感謝しています。
No.4
- 回答日時:
200回以上繰り返すなら、それも質問文に書くべきでしたね。
そうだとしても、40ファイルを処理するマクロを、200回繰り返すマクロを作ればいいだけです。
それをやるにしても、40ファイルを処理するマクロを作らないと始まりません。
ところで、40ファイルの処理を200回繰り返す、という状況が想像できないのですが・・・
同じ40ファイルに対して、同じ処理を200回繰り返す?
40ファイル入っているフォルダが200個あって、すべてのフォルダで同じ処理をする?
???
>この場合、1つ目のデータを貼り付けた後に次のデータ貼り付け場所を指定し、ファイルを自動で読み込む方法などはどのようにしたらよいのでしょうか。
???
それは、
>・マクロの記録を開始して
>・data1の1つのファイルを開いて
>・H3をコピーして
>・resultのA1に貼り付けて
>・data1のファイルを閉じて
>・マクロの記録を終了する
これをやってみた上での質問でしょうか?
>ちなみに、VBAマクロは書いたことがないです。
そうなのであれば、まず、マクロの記録のやりかたと、記録したマクロの実行のやり方を覚えましょう。
ネットで検索すればたくさん見つかります。
検索キーワードは
excel マクロの記録 実行
こんな感じで良いです。
No.2
- 回答日時:
40程度なら、
resultシート(のファイル)を開いた状態で、
・マクロの記録を開始して
・data1の1つのファイルを開いて
・H3をコピーして
・resultのA1に貼り付けて
・data1のファイルを閉じて
・マクロの記録を終了する
これで書き込まれたマクロを39回コピペして、読み込むファイル名と、貼り付け先を変更していけば良いです。
40なんてたいした数ではありません。
「すぐに回答してほしい」ほど急ぎなんですよね。
たった40回の繰り返しであれば、繰り返し構文やDir関数を勉強するより早いです。
ましてや、あなたがVBAマクロを書いたことが無かったりしたら、なおさらです。
回答ありがとうございます。
確かに、たった40程度のファイル数なので上記のやり方でも問題ないのですが、
これの作業を200回以上繰り返さなければならないので困っています。
この場合、1つ目のデータを貼り付けた後に次のデータ貼り付け場所を指定し、ファイルを自動で読み込む方法などはどのようにしたらよいのでしょうか。
この方法がわからないのだと書いていなくてすいません。
ちなみに、VBAマクロは書いたことがないです。
No.1
- 回答日時:
仮に、ファイル名が、・・・
data1
data2
data3
data4
:
ようなネーミングになっていれば、
VBA の for next を使った繰り返しで、ファイル名を生成し
処理することができます。
http://excelvba.pc-users.net/fol6/6_3.html
※ data + <繰り返しのカウンター値>
しかし、ファイル名がまちまちであると、ファイルの数分の
処理を記載する必要があります。
ただ、ファイル名の一覧を、シート上に、順番に配置しておけば、
上記の for next の繰り返しを使って、ファイル名を生成する代わりに
上から順番に ファイル名を取り出して、処理することは可能です。
参考URL:http://excelvba.pc-users.net/fol6/6_3.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
このQ&Aを見た人はこんなQ&Aも見ています
-
一回も披露したことのない豆知識
あなたの「一回も披露したことのない豆知識」を教えてください。
-
【お題】甲子園での思い出の残し方
【お題】「球場の砂を持って帰る」はもう古いと思った高校球児が、甲子園で負けた際に、思い出に残そうと思って行ったこと
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
カラオケの鉄板ソング
歌えばその場が絶対盛り上がる「鉄板ソング」を教えてください!
-
エクセルVBAでコピーして順番に張り付けをしたい!
Visual Basic(VBA)
-
繰り返し1行~28行までを順順にコピーする方法
Visual Basic(VBA)
-
選択した項目を上から順番にコピーするマクロ
Access(アクセス)
-
-
4
VBAで繰り返しコピーしながら下へ移動させる方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelが勝手にシート移動してし...
-
コピーしたファイルのマクロを...
-
VBA マクロ実行時エラー’1004Ra...
-
VBAを一度起動するとずっと出て...
-
エクセル終了時の保存確認メッ...
-
excelが別プロセスで起動してし...
-
excelファイルに使われているVB...
-
アクセスでファイルを開いたと...
-
昨日まで動いていたエクセルの...
-
EXCEL マクロ クリップボードク...
-
別のパソコンでエクセルのマク...
-
【マクロ】エラーが発生⇒実行時...
-
【VBAファイル移動】2つのマク...
-
Excelでこの式の意味をおしえて...
-
作ったマクロが増えてきて、ど...
-
Excelマクロ ファイル名が変わ...
-
Excelからnotesメールを自動で...
-
EXCELでマクロを記録する際に、...
-
excelのマクロ実行でブロックさ...
-
エクセルマクロ実行中に別ファ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを一度起動するとずっと出て...
-
昨日まで動いていたエクセルの...
-
コピーしたファイルのマクロを...
-
マクロを消すマクロは不可能?
-
excelファイルに使われているVB...
-
Excelマクロ ファイル名が変わ...
-
別のパソコンでエクセルのマク...
-
エクセル終了時の保存確認メッ...
-
EXCEL マクロ クリップボードク...
-
VBA マクロ実行時エラー’1004Ra...
-
Excelが勝手にシート移動してし...
-
excelが別プロセスで起動してし...
-
【マクロ】エラーが発生⇒実行時...
-
エクセルマクロ実行中に別ファ...
-
アクセスでファイルを開いたと...
-
エクセル2013vbaで、見えない名...
-
マクロを設定したのに、拡張子...
-
Excel2010 PERSONAL.xlsbの挙動...
-
excelでpersonal.xlsを常に開く...
-
外部データを取り込むマクロ
おすすめ情報