
【やりいた事】⇒コードorアドバイスお願いします
下記画像をご覧ください
❶.1つのエクセルブックがあります。このブックには4つのシートがあります
❷.4つのcsvファイルがあります(CSVはEXCELファイルに置き換えてもok)
⇒この4つのファイルのデータを❶の1つのエクセルにある、4つのシートへ貼付したいです
※4つのデータは1個~4個へ変動します。ファイルが1つの時もあれば4つの時もあるという意味
※❶のコピー先シート4つは、貼付前は全て、何も何も貼りついていない状態です
【動作手順】※以下4データはWEBサイトよりダウンロードしています
※出来ればDL順に貼付したい。複雑な場合、順番じゃなくてもOK⇒順不同
a_20250529124239.csvを開く
⇒A1セルでCtrl+A全選択しコピー
⇒最新配列.xlsm Sheet1 のA1セルに値貼付
a_20250529124240.csvを開く
⇒A1セルでCtrl+A全選択しコピー
⇒最新配列.xlsm Sheet1 のA1セルに値貼付
a_20250529124241.csv⇒最新配列.xlsm Sheet3 のA1セルに値貼付
⇒A1セルでCtrl+A全選択しコピー
⇒最新配列.xlsm Sheet1 のA1セルに値貼付
a_20250529124242.csv⇒最新配列.xlsm Sheet4 のA1セルに値貼付
⇒A1セルでCtrl+A全選択しコピー
⇒最新配列.xlsm Sheet1 のA1セルに値貼付
【ファイルパス】コピーしたい4つのファイル。※コピー元
C:\Users\2020\OneDrive\マクロ\ダウンロード場所\a_20250529123942.csv
シート名:20250529123942 ⇒シートは1つしか無い
C:\Users\2020\OneDrive\マクロ\ダウンロード場所\a_20250529123941.csv
シート名:20250529123941 ⇒シートは1つしか無い
C:\Users\2020\OneDrive\マクロ\ダウンロード場所\a_20250529123940.csv
シート名:20250529123940 ⇒シートは1つしか無い
C:\Users\2020\OneDrive\マクロ\ダウンロード場所\a_20250529123939.csv
シート名:20250529123939 ⇒シートは1つしか無い
【ファイルパス】コピー先
C:\Users\2020\OneDrive\マクロ\最新配列.xlsm
※4つのファイルのデータをコピーしたいファイル
※シート名⇒Sheet1、Sheet2、Sheet3、Sheet4、
【参考コード】4つのシートにそれぞれ作業をするべく、順番になります
Sub sheetarrayの配列()
Dim allsheet(3) As Variant
allsheet(0) = "Sheet1"
allsheet(1) = "Sheet2"
allsheet(2) = "Sheet3"
allsheet(3) = "Sheet4"
Dim i As Long
Dim ws As Worksheet
For i = 0 To 3
Set ws = ThisWorkbook.Worksheets(allsheet(i))
MsgBox allsheet(i)
●●●●●●●●●●●●●●●●●●●●●●●●●●
ここに4つのファイルのデータをコピーするデータを
開き、コピペするコードを貼り付けるコードを入れたい
●●●●●●●●●●●●●●●●●●●●●●●●●●
Next
End Sub
【参考コード】ファイルを開いてデータをコピペするコードです
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\2020\OneDrive\マクロ\ダウンロード場所\a_20250529124242.csv")
Range("a1").CurrentRegion.Copy
ws.Range("a1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
wb.Close

No.1ベストアンサー
- 回答日時:
こんばんは
>コードorアドバイスお願いします
一番簡単なのは、ご提示の一回分のコードを四回記述することでしょう。
もう少し効率的にするなら、可変部分を配列化しておいて繰り返し(=ループ)処理すればよろしいかと。
さらに記述を単純化したいのなら、
>⇒A1セルでCtrl+A全選択しコピー~~
のような考え方でなく、シートそのものをコピーすると考えれば、1センテンスですませられます。
Worksheet.Copy Destination
https://learn.microsoft.com/ja-jp/office/vba/api …
一方で、ご提示のコードでは「値のコピー」になっているようですので、書式等はコピーしたくないという場合は、
DestSheet.Cells.Value = SorceSheet.Cells.Value
のような処理にすることで、シート全体の「値のみコピー」も可能です。
fujillin 様
お返事ありがとうございます
コードとは、以下のことでしょうか
ファイル名が毎回、変わります
転記先のファイル名や4つのシート名は変わりません
何かアドバイスいただければ幸いです
また、本質問について、再度、別の切り口から質問UPしました
お手すきな時に、ご覧ください。よろしくお願いします
>一番簡単なのは、ご提示の一回分のコードを四回記述することでしょう。
【参考コード】ファイルを開いてデータをコピペするコードです
Dim wb As Workbook
Set wb = Workbooks.Open("C:\Users\2020\OneDrive\マクロ\ダウンロード場所\a_20250529124242.csv")
Range("a1").CurrentRegion.Copy
ws.Range("a1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
wb.Close
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【マクロ】【画像あり】関数が入っているセルを空白とみなさないように出来ますか?
Excel(エクセル)
-
勤怠表について ABS、TEXT関数の使い方について教えて下さい
Excel(エクセル)
-
Dir関数のDo Whileステートメントにおける1回目と2回目のファイル名の呼出し方法の違い
Excel(エクセル)
-
-
4
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
5
条件付書式設定にて、本日の日付を条件として、2行分にセルに色を付けるには?
Excel(エクセル)
-
6
【関数】同じ関数なのに、エラーが出るエクセルと出ないエクセルある?
Excel(エクセル)
-
7
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
8
【WordでもExcelでも良いですが】A4サイズの用紙に1文字を印刷する方を教えてく
Excel(エクセル)
-
9
【マクロ】エラー【#DIV/0!】が発生する場合の回避方法について
Excel(エクセル)
-
10
【マクロ】【画像あり】ファイル名を別名にて保存。元ファイルはゴミ箱へ移動⇒する方法について
Excel(エクセル)
-
11
【マクロ】【画像あり】4つのファイルデータを別ブックの4つのシートへそれぞれコピーしたい
Excel(エクセル)
-
12
Excelについて教えてください。
Excel(エクセル)
-
13
2枚のエクセル表で数字をマッチングさせる方法を教えてください
Excel(エクセル)
-
14
【マクロ】データ移動について代替案(コード)or助言を下さい
Excel(エクセル)
-
15
至急お願いします!エクセルのフィルターについて
Excel(エクセル)
-
16
findメソッドで、10:00:01 を検索をして、メッセージボックスにセル番地と時間が表示できない
Excel(エクセル)
-
17
Excel 複数のセルが一致するときに網掛けをする式は作れますか
Excel(エクセル)
-
18
【マクロ】WEBシステムから保存ではなく、開いたExcelデータを変数に入れる事が出来る?
Excel(エクセル)
-
19
特定のセルだけ結果がおかしいです。 関数はオートフィルでコピーしており、細かく見てもどこもおかしくあ
Excel(エクセル)
-
20
9月17日でサービス終了らしいのですが、今までのようなエクセルの質問や相談はどこですればいい?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
Excelで保護のかかったシートの...
-
ワークシートの行が途中から表...
-
シート全体を他のブックのシー...
-
エクセルで別シートの同じ位置...
-
excelで勝手にテキストボックス...
-
EXCELでコピーしたグラフのデー...
-
エクセルでセルの書式設定がで...
-
ロックしたセルのコピー&貼り付け
-
【マクロ】【画像あり】4つの...
-
エクセルで選択した行以外を削...
-
フィルタされたものを切り取り...
-
エクセルで数式は残したまま他...
-
Excelで大量の2000個のリストを...
-
シート保護したExcelへの画像貼...
-
エクセルで打ち込んだ数字を自...
-
オートフィル?規則性あるデー...
-
エクセルでの複数シートへの同...
-
worksheetクラスのcopyメソッド...
-
コピー&ペーストすると、VLOOK...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
エクセルで別シートの同じ位置...
-
シート全体を他のブックのシー...
-
Excelで保護のかかったシートの...
-
ワークシートの行が途中から表...
-
EXCELでコピーしたグラフのデー...
-
エクセルでセルの書式設定がで...
-
エクセルで数式は残したまま他...
-
ロックしたセルのコピー&貼り付け
-
【マクロ】【画像あり】4つの...
-
excelで勝手にテキストボックス...
-
VBA アクティブでないシートの...
-
Excelで大量の2000個のリストを...
-
スプレッドシートが真っ白にな...
-
シート保護してても並び替えを...
-
【エクセル】表から条件に合っ...
-
シート保護したExcelへの画像貼...
-
フィルタされたものを切り取り...
-
行の挿入ができなくなった
-
【Excel マクロ】貼り付け先の...
おすすめ情報