* .csvファイルを1つのフォルダからマージする方法はありますか?マクロを使用してCSVファイルをマージする
同じ構造の(* &という見出しの)* .csvファイルが多数あり、その内容を1つのシートにマージする必要があります。
それほど難しくありません。しかし、あるテーブルからコンテンツを追加するときに、このデータをコピーしたテーブルの名前で新しいカラムを追加する必要があります。
お願いします。
ありがとうございました!
* .csvファイルを1つのフォルダからマージする方法はありますか?マクロを使用してCSVファイルをマージする
同じ構造の(* &という見出しの)* .csvファイルが多数あり、その内容を1つのシートにマージする必要があります。
それほど難しくありません。しかし、あるテーブルからコンテンツを追加するときに、このデータをコピーしたテーブルの名前で新しいカラムを追加する必要があります。
お願いします。
ありがとうございました!
これはどのようにこの問題を解決するかのように思われます。それはすべてのcsvファイルの内容をマージし、2番目のファイルからヘッダを削除します! :)しかし、まだソースファイルの名前を追加することでその問題を解決する必要があります。
ます。Option Explicit
サブImportCSV()
Dim strSourcePath As String
Dim strDestPath As String
Dim strFile As String
Dim strData As String
Dim x As Variant
Dim Cnt As Long
Dim r As Long
Dim c As Long
Application.ScreenUpdating = False
'Change the path to the source folder accordingly
strSourcePath = "C:\Path\"
If Right(strSourcePath, 1) <> "\" Then strSourcePath = strSourcePath & "\"
'Change the path to the destination folder accordingly
strDestPath = "C:\Path\"
If Right(strDestPath, 1) <> "\" Then strDestPath = strDestPath & "\"
strFile = Dir(strSourcePath & "*.csv")
Do While Len(strFile) > 0
Cnt = Cnt + 1
If Cnt = 1 Then
r = 1
Else
r = Cells(Rows.Count, "A").End(xlUp).Row + 1
End If
Open strSourcePath & strFile For Input As #1
If Cnt > 1 Then
Line Input #1, strData
End If
Do Until EOF(1)
Line Input #1, strData
x = Split(strData, ",")
For c = 0 To UBound(x)
Cells(r, c + 1).Value = Trim(x(c))
Next c
r = r + 1
Loop
Close #1
Name strSourcePath & strFile As strDestPath & strFile
strFile = Dir
Loop
Application.ScreenUpdating = True
If Cnt = 0 Then _
MsgBox "No CSV files were found...", vbExclamation
End Subの
良いヒントありがとう:) – Vestyak
それにアプローチする方法はいくつか(例:SO 39045638)があり、私は個人的にLOCは、CSVファイルのディレクトリで以下に類似の.batファイルを、使用
。ただし、これは集計ファイルの削除を処理しません。繰り返しヘッダーも処理しないので、最終的なcsvを編集して削除する必要があります。
@ECHO OFF
Set loc=C:\Test\
Copy %loc%*.csv %loc%\Aggregate.csv
ねえケビン、私はあなたに同意します。私は同じ方法でそれをやったが、バットファイルを開始するのはビジネスユーザーにとっては難しいようだ:)全体的な操作のためには1つのマクロでなければならない。 – Vestyak
どのようにしてバットファイルをダブルクリックするのがマクロを実行するよりも難しいですか?具体的に言えば、これは、回答を提起する前にすべての制約を理解するために使用することができます –
イムはあなただけVBAでこれをやりたいと思っていると仮定が、これはPythonでずっと容易になるだろうか? –
Pythonを最初にインストールしなければならないと考えると、それほど簡単ではないと思います。あなたが持っているものすべてがハンマーのようなものであれば、すべてが爪のように見えます。 @ケビンから答えのシンプルさを考えてみてください。 –
私はVBAでこれをしなければなりません、それは問題です。これは、ビジネスユーザーにとっては単に「ツール」でなければなりません。 – Vestyak