エクセルマクロで、テキストファイルをエクセルにコピーするVBAコードをご紹介します。
textファイルの中身を全てコピーして、エクセルに貼り付けしたような状態になります。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
テキストファイルをエクセルにコピー(パターン1)
以下のマクロを実行すると、メモ帳のデータを読み込んでExcelに貼り付けます。
Sub テキストファイルを一括読み込みしてエクセルへコピー()
Dim WordListAddress As String
Dim TxtFileList As String
Dim InputCnt As Long
Dim TxtNum As Long
Dim InputWord() As String
Dim TxtFile As String
Dim Buf As Variant
Dim fso As Object
Dim i As Long
Set fso = CreateObject("Scripting.FileSystemObject")
'テキストファイルのパスを指定
WordListAddress = "C:\Users\admin\Desktop\テスト\チェックリスト.txt"
'テキストファイルのファイル名を拡張子つきで取得
TxtFileList = fso.GetFileName(WordListAddress)
TxtNum = FreeFile
Open WordListAddress For Input As TxtNum
While Not EOF(1)
Line Input #TxtNum, TxtFileList
'単語をタブ区切りで抽出
Buf = Split(TxtFileList, vbTab)
'配列の要素数を変更
ReDim Preserve InputWord(InputCnt)
'配列にテキストファイルの値を格納
InputWord(InputCnt) = Buf(0)
InputCnt = InputCnt + 1
Wend
Close TxtNum
'エクセルシートへ書き込み
For i = 0 To UBound(InputWord)
Sheets("Sheet1").Cells(i + 1, 1) = InputWord(i)
Next i
End Sub
マクロ実行後
テキストファイルの内容をエクセルシートに書き込みします。
テキストファイルをエクセルにコピー(パターン2)
以下のマクロを実行すると、テキストファイルを読み込んでワークシートに貼り付けます。
Sub メモ帳をエクセルへコピー()
Dim WordListAddress As String
Dim TxtFileList As String
Dim InputCnt As Long
Dim TxtNum As Long
Dim InputWord(100, 1) As Variant
Dim TxtFile As String
Dim Buf As Variant
Dim fso As Object
Dim i As Long
Dim j As Long
Set fso = CreateObject("Scripting.FileSystemObject")
'テキストファイルのパスを指定
WordListAddress = "C:\Users\admin\Desktop\テスト\チェックリスト.txt"
'テキストファイルのファイル名を拡張子つきで取得
TxtFileList = fso.GetFileName(WordListAddress)
TxtNum = FreeFile
Open WordListAddress For Input As TxtNum
While Not EOF(1)
Line Input #TxtNum, TxtFileList
'単語をカンマ区切り「,」で抽出
Buf = Split(TxtFileList, ",")
For i = 0 To UBound(Buf)
InputWord(InputCnt, i) = Buf(i)
Next i
InputCnt = InputCnt + 1
Wend
Close TxtNum
'エクセルシートへ書き込み
For i = 0 To UBound(InputWord)
For j = 0 To 1
Sheets("Sheet1").Cells(i + 1, j + 1) = InputWord(i, j)
Next j
Next i
End Sub
マクロ実行後
textファイルを一括で読み込み、エクセルへ出力します。
テキストファイルをエクセルにコピー(パターン3)
以下のマクロを実行すると、メモ帳を全て読み込んでエクセルへコピーします。
Sub テキストファイルを読込しエクセルへコピペ()
Dim WordListAddress As String
Dim TxtFileList As String
Dim InputCnt As Long
Dim TxtNum As Long
Dim InputWord(100, 10) As Variant
Dim TxtFile As String
Dim Buf As Variant
Dim fso As Object
Dim i As Long
Dim j As Long
Set fso = CreateObject("Scripting.FileSystemObject")
'テキストファイルのパスを指定
WordListAddress = "C:\Users\admin\Desktop\テスト\チェックリスト.txt"
'テキストファイルのファイル名を拡張子つきで取得
TxtFileList = fso.GetFileName(WordListAddress)
TxtNum = FreeFile
Open WordListAddress For Input As TxtNum
While Not EOF(1)
Line Input #TxtNum, TxtFileList
'単語をカンマ区切り「,」で抽出
Buf = Split(TxtFileList, ",")
'txtファイルをループ(縦)
If InputCnt < 100 Then
For i = 0 To UBound(Buf)
'txtファイルをループ(横)
If i < 11 Then
InputWord(InputCnt, i) = Buf(i)
End If
Next i
InputCnt = InputCnt + 1
End If
Wend
Close TxtNum
'エクセルシートへ書き込み
For i = 0 To UBound(InputWord)
For j = 0 To 10
Sheets("Sheet1").Cells(i + 1, j + 1) = InputWord(i, j)
Next j
Next i
End Sub
マクロ実行後
テキストファイルをコピーして、エクセルシートへ書き込みします。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】テキストファイルを自動処理する使用例を見る
【エクセルマクロ】テキストファイルを自動操作する:超便利8選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク