hatena
hatena
2022/07/29 (金) 16:14:26
タブをスペースに変換する関数を作成してみました。
Public Function Tab2Spaces(s As String, n As Long)
Dim lines: lines = Split(s, vbLf)
Dim l
For Each l In lines
Dim a: a = Split(l, vbTab)
Tab2Spaces = RTrim(Tab2Spaces) & vbLf
Dim i
For Each i In a
Tab2Spaces = Tab2Spaces & Format(i, "!" & String(n, "@"))
Next
Next
Tab2Spaces = Mid(Tab2Spaces, 2)
End Function
上記のコードを標準モジュールにコピーしてください。
A1セルにタブと改行を含むテキストを貼り付けます。その後、下記のコードを実行します。
Public Sub test()
Range("A2") = Tab2Spaces(Range("A1"), 8)
End Sub
実行後のシート↓
通報 ...
フォントは等幅フォントにしてください。
半角文字が前提です。全角文字が含まれるとずれます。
第2引数で指定した数字より長い単語があるとずれまず。
全角文字が含まれていても揃うように修正しました。