- ベストアンサー
VBAファイル: エクセルの行に転記する方法
- VBAを使用して、セミコロンで区切られたテキストファイルの内容をエクセルの行に転記する方法について教えてください。
- 現在自分で記述しているプログラムでは、一行ずつ読み込んで要素を指定して表示データを格納していますが、この方法では転記することはできません。
- 良い方法がわからないので、助けていただけると幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Dim myFSO As New FileSystemObject Dim myTextFile As TextStream 私のエクセルでは上述の部分がエラーになるので、つぎのようにしてみました。 Sub データ抽出2() Dim buf As String, buf1 As String, buf2 As String, n As Long Worksheets("sample").Activate Cells.ClearContents Open "H:\Temp\sample.txt" For Input As #1 Do Until EOF(1) Line Input #1, buf buf1 = Left(buf, Application.Find(";", buf, 1) - 1) buf2 = Mid(buf, Application.Find(";", buf, 1) + 1, 30) buf2 = Mid(buf2, Application.Find(";", buf2, 1) + 1, 30) buf2 = Mid(buf2, Application.Find(";", buf2, 1) + 1, 30) n = n + 1 Cells(n + 1, 2) = buf Cells(2, n + 2) = buf1 Cells(3, n + 2) = buf2 Loop Close #1 End Sub buf2 =.....が3回繰り返されていますが、三つ目の「 ; 」を検出するためです。 Cells(n + 1, 2) = buf は、読み込んだデータがそのまま縦に配置されます。 この行は無くても良いのですが、比較のために残しておきました。 参考になれば幸いです。