• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL マクロ どう記述したらよいですか?)

Excelマクロの記述方法について

このQ&Aのポイント
  • Excelマクロの記述方法についてお尋ねします。以下の要件に基づいて、フォルダ内の複数のExcelファイルに対して特定の処理を実行するマクロを作成したいです。具体的には、AAA.xls、BBB.xls、CCC.xlsなどのファイルを指定のフォーマットに合わせて貼り付けたいのですが、具体的な記述方法が分かりません。お手数ですが、ご教示いただけますでしょうか?
  • Excelマクロの記述についてお伺いします。特定のフォルダ内に複数のExcelファイルがあり、それぞれのファイルに対して特定の処理を行いたいと考えています。具体的には、各ファイルの特定の列を選択し、別のExcelファイルに貼り付けたいのですが、どのように記述すれば良いのか分かりません。お知恵をお貸しください。
  • Excelマクロについて質問があります。指定のフォルダ内に複数のExcelファイルがあり、それぞれのファイルに対して特定の処理を行いたいです。具体的には、各ファイルの特定の列を選択し、別のExcelファイルに貼り付ける処理を自動化したいですが、どのように書けば良いのか分かりません。ご教示いただけますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

段取り: フォーマット.xlsにマクロを登録して実行し、データを吸い上げることにする フォーマットと他のブックは同じフォルダに放り込んでおくことにする 各ブックの「ある列」じゃ話にならないので、とりあえず「A列」を吸い上げることにする 原則として「どのブックから」取ってきたのを「どの列に」配置するか「指定は無い」事にする 例えばF列に転記されたデータが「実際にどこから取ってきたモノだったのか」の情報は「別に要らない」ご相談になっていますが、それじゃあんまり使いにくいので1行目にファイル名を記録し、2行目からデータを転記する事にする(余計なお世話なので、不要なら適切にマクロを修正してください) 手順: フォーマット.xlsを開く ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim myPath as string  dim myFile as string  dim c as long  dim LastRowr as long  application.screenupdating = false  mypath = thisworkbook.path & "\"  myfile = dir(mypath & "*.xls")  range("F:IV").delete shift:=xlshifttoleft  c = 6  do until myfile = ""   if myfile <> thisworkbook.name then    workbooks.open filename:= mypath & myfile    lastrow = worksheets("a").range("A65536").end(xlup).row    thisworkbook.worksheets(1).cells(1, c) = myfile    thisworkbook.worksheets(1).cells(2, c).resize(lastrow, 1).value = worksheets("a").range("A1").resize(lastrow, 1).value    workbooks(myfile).close false    c = c + 1   end if   myfile = dir()  loop  application.screenupdating = true end sub ファイルメニューから終了してエクセルに戻る マクロを実行する

tokyoboy
質問者

お礼

回答有難うございます。 少し削除・追加等しまして、うまく実行できました! あと細かい部分は自分で勉強したいと思います。 大変助かりました。有難うございました。