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行目~:クエリオブジェクトでテキストデータを読み込む
