2つのテキストファイルを2つのエクセルのシートに読み込む方法です。

目次
設定するエクセルシート
3つのシートを用意します。
- パス:読み込むパスを入力するシート
- data1:テキストファイル「data1」を読み込むシート
- data2:テキストファイル「data2」を読み込むシート



サンプルコード
読み込みは同じ処理のため、プロシージャーを分けています。
Sub sample1() Dim wsP As Worksheet: Set wsP = Worksheets("パス") Dim ws1 As Worksheet: Set ws1 = Worksheets("data1") Dim ws2 As Worksheet: Set ws2 = Worksheets("data2") Dim dPath As String Dim fName As String Dim i As Long For i = 1 To 2 fName = wsP.Cells(i, 1) dPath = wsP.Cells(i, 2) Call imData(fName, dPath) Next i End Sub Private Sub imData(ByVal fName As String, ByVal dPath As String) Worksheets(fName).Range("A1").CurrentRegion.ClearContents Dim imData As QueryTable Set imData = Worksheets(fName).QueryTables.Add(Connection:="TEXT;" & dPath, _ Destination:=Worksheets(fName).Range("A1")) With imData .TextFilePlatform = 65001 .TextFileParseType = xlFixedWidth .TextFileFixedColumnWidths = Array(8, 12, 12, 12) .Refresh .Delete End With End Sub
- 10行目:シート名を取得
- 11行目:テキストデータの保存先とファイル名のパスを指定
- 12行目:「Call imData」で15行目の「Sub imData」を呼び出します。このときにファイル名とファイルパスを引数で指定します。
- 15行目~:クエリオブジェクトでテキストデータを読み込む