
【やりいた事】⇒コード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も見ています
-
勤怠表について ABS、TEXT関数の使い方について教えて下さい
Excel(エクセル)
-
Dir関数のDo Whileステートメントにおける1回目と2回目のファイル名の呼出し方法の違い
Excel(エクセル)
-
【マクロ】【画像あり】関数が入っているセルを空白とみなさないように出来ますか?
Excel(エクセル)
-
-
4
【マクロ】エラー【#DIV/0!】が発生する場合の回避方法について
Excel(エクセル)
-
5
【マクロ】【画像あり】ファイル名を別名にて保存。元ファイルはゴミ箱へ移動⇒する方法について
Excel(エクセル)
-
6
【関数】=EXACT(a1,b1) a1とb1が空白の場合trueではなく、空白を返すには?
Excel(エクセル)
-
7
【マクロ】【画像あり】4つのファイルデータを別ブックの4つのシートへそれぞれコピーしたい
Excel(エクセル)
-
8
【マクロ】コードを少しでも、減らする為には
Excel(エクセル)
-
9
条件付書式設定にて、本日の日付を条件として、2行分にセルに色を付けるには?
Excel(エクセル)
-
10
エクセルのdatedif関数を使って、年齢と月齢を入力しました。 関数を入力して、問題なく使えたので
Excel(エクセル)
-
11
【関数】同じ関数なのに、エラーが出るエクセルと出ないエクセルある?
Excel(エクセル)
-
12
【WordでもExcelでも良いですが】A4サイズの用紙に1文字を印刷する方を教えてく
Excel(エクセル)
-
13
【マクロ】データ移動について代替案(コード)or助言を下さい
Excel(エクセル)
-
14
【マクロ】A列にある、日付(本日:4月17日)を検索し、セルを選択するには?
Excel(エクセル)
-
15
【マクロ】アクティブセルの時間を別ブックから検索。見つかったセルを含めた最終行まで選択したい
Excel(エクセル)
-
16
【マクロ】3行に上から下に並んだ文字列を、単純に、逆に並び替えれますか?
Excel(エクセル)
-
17
【エクセル】期限アラートについて
Excel(エクセル)
-
18
【マクロ】列を折りたたみ非表示したセルの内、可視セルをコピーするとがエラーとなる
Excel(エクセル)
-
19
エクセル
Excel(エクセル)
-
20
エクセルについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
エクセルで別シートの同じ位置...
-
EXCELでコピーしたグラフのデー...
-
Excelで保護のかかったシートの...
-
エクセルでセルの書式設定がで...
-
ワークシートの行が途中から表...
-
シート保護してても並び替えを...
-
シート全体を他のブックのシー...
-
エクセルで数式は残したまま他...
-
【マクロ】【画像あり】4つの...
-
Excelセルの書式設定ができない
-
excelで勝手にテキストボックス...
-
ロックしたセルのコピー&貼り付け
-
フィルタされたものを切り取り...
-
Excelで行を挿入しても移動しな...
-
エクセル シートのコピーがで...
-
エクセルファイルの容量が大き...
-
エクセルVBA シートの保護につ...
-
VBA アクティブでないシートの...
-
Excelでハイパーリンク先の表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの下部のシートタブの...
-
エクセルで別シートの同じ位置...
-
シート全体を他のブックのシー...
-
Excelで保護のかかったシートの...
-
ワークシートの行が途中から表...
-
EXCELでコピーしたグラフのデー...
-
エクセルでセルの書式設定がで...
-
エクセルで数式は残したまま他...
-
ロックしたセルのコピー&貼り付け
-
【マクロ】【画像あり】4つの...
-
excelで勝手にテキストボックス...
-
VBA アクティブでないシートの...
-
Excelで大量の2000個のリストを...
-
スプレッドシートが真っ白にな...
-
シート保護してても並び替えを...
-
【エクセル】表から条件に合っ...
-
シート保護したExcelへの画像貼...
-
フィルタされたものを切り取り...
-
行の挿入ができなくなった
-
【Excel マクロ】貼り付け先の...
おすすめ情報