VBAを使用して、同じフォルダーにある複数のCSVファイルをExcelの指定したタブに自動でコピーする方法について説明します。例えば、food1.csvのA列からH列をExcelのタブAに、food2.csvのA列からH列をタブBに、food3.csvのA列からH列をタブCにコピーすることができます。この作業を自動化することで、手動での作業を大幅に削減できます。
1. 必要な準備
まず、VBAを使ってCSVデータを読み込むために、以下の準備が必要です。Excelを開き、VBAエディタにアクセスします。
2. VBAコードの基本
以下のコードを使うと、指定したCSVファイルのA列からH列までを、それぞれのタブにコピーできます。Sub ImportCSVData()Dim ws As WorksheetDim csvFile As StringcsvFile = "C:\path_to_folder\food1.csv"Set ws = ThisWorkbook.Sheets("A")With ws.QueryTables.Add(Connection:="TEXT;" & csvFile, Destination:=ws.Range("A1")).TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1).TextFileConsecutiveDelimiter = False.TextFileTabDelimiter = False.TextFileSemicolonDelimiter = False.TextFileCommaDelimiter = True.Refresh BackgroundQuery:=FalseEnd WithEnd Sub
3. CSVファイルの取り込み
上記のコードでは、CSVファイルの内容を指定したExcelシート(タブA)に読み込みます。これをタブBやタブCに対して繰り返すためには、csvFileのパスを変更し、それぞれのタブに合わせて処理を行います。
4. ファイルパスの指定
実際の使用時には、food1.csv、food2.csv、food3.csvなどのファイルパスを正確に指定する必要があります。ファイルが正しいフォルダに存在することを確認してください。また、同じディレクトリに複数のCSVファイルがある場合には、ファイル名を変数で指定し、ループで処理することも可能です。
5. まとめ
このVBAコードを使えば、CSVファイルのデータを簡単にExcelの指定したタブに自動でコピーできます。手作業でのコピーを減らし、作業の効率化を図ることができます。試してみてください。


コメント