|
ワークシート上の1列分のセルの文字列を、いくつか横に繋げてテキストファイルに
出力することを想定しているのでしょーか ?
ならば仮に A1 以下A列の最終入力行までの値を、1行に3つ並べるとして
Sub Mk_MyText()
Dim Mx As Long
Dim Buf As String, MySt As String
Dim MyR As Range, C As Range
Const MyF As String = "C:\temp\Test.txt"
If Dir(MyF) <> "" Then Kill MyF
Set MyR = Range("A1", Range("A65536").End(xlUp))
With MyR.Offset(, 255)
.Formula = "=LEN($A1)"
Mx = WorksheetFunction.Max(.Cells) + 1
.ClearContents
End With
Buf = String(Mx, "A")
Open MyF For Output Access Write As #1
For Each C In MyR
LSet Buf = C.Value
MySt = Buf & Buf & Buf
Print #1, MySt
Next
Close #1: Set MyR = Nothing
Shell "Notepad.exe " & MyF, vbMaximizedFocus
End Sub
ただし、LSetステートメントを使っているので、
空白を埋める文字はスペースになります。
|
|