Q3:フレーム計算出力をエクセルで使えるようにするマクロ
■フレーム計算出力をエクセルで使えるようにするマクロ
マクロ名:ImportText 機能:
テキストファイル読み込み 全角
「│」でセル分割
罫線行スキップ(┌, ├, など)
B列以降に出力
最後にA列を削除
■エクセルをマクロで実行させるコマンドです
✅ Excelマクロコード(VBA)
Excelを開く
Alt + F11でVBAエディタを開く
挿入> モジュール を選択
コードを貼り付けてください
✅【フレーム計算出力をエクセルで使えるようにするマクロ】
Sub ImportText()
Dim filePath As String
Dim fileNum As Integer
Dim lineData As String
Dim outputRow As Long
Dim splitData() As String
Dim borderPatterns As Variant
Dim isBorder As Boolean
Dim pattern As Variant
Dim colNum As Long
borderPatterns = Array("┌", "├", "└", "┬",
"┼", "┴", "┐", "┘")
' ファイル選択
filePath = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If filePath = "False" Then Exit Sub
' 読み込み開始
fileNum = FreeFile
Open filePath For Input As #fileNum
outputRow = 1
Do Until EOF(fileNum)
Line Input #fileNum, lineData
' 罫線判定(行頭1文字)
isBorder = False
For Each pattern In borderPatterns
If Left(Trim(lineData), 1) = pattern Then
isBorder = True
Exit For
End If
Next pattern
' 罫線でなければ「│」で分割してB列以降に出力
If Not isBorder Then
splitData = Split(lineData, "│")
For colNum = LBound(splitData) To UBound(splitData)
Cells(outputRow, colNum + 2).Value = Trim(splitData(colNum)) ' B列=列2
Next colNum
outputRow = outputRow + 1
End If
Loop
Close #fileNum
' A列削除
Columns("A").Delete
MsgBox "完了:" & outputRow - 1 & " 行 読み込み",
vbInformation
End Sub
📄【使い方】テキストデータをExcelに読み込んで整形するマクロ(ImportText)
このマクロを実行すると、
テキストファイルを選択するダイアログが表示されます。
任意の .txt ファイルを選択すると、その内容が全角「│」でセルごとに分割され、B列以降に自動で配置されます。
┌, ├, ┬ などの罫線行は自動的にスキップされます。
読み込み完了後、不要なA列は自動的に削除されます。
出力結果をそのまま確認・加工・印刷することができます。

