配列格納時にスペース、セル内改行を無視したい。
ExcelVBAで、配列に文字列を一文字ずつ格納する方法について質問します。
以下の(1)の機能において改行や、全半角スペースは無視して格納したい
のですが、方法が判りません。教えてください。よろしくお願いします。
下記のマクロは、
(1)A1セルに記載された文字列を,1文字ずつ配列aに格納し、
<現行では、a(n,0)には、左からn文字目、a(n,1)には右からn文字目の文字が格納される>
(2)B列、C列に1それぞれの文字を順々に1文字ずつ順次転記し、
(3)B列の文字のうち”ー”を”~”に変更する
マクロです。これの出力結果を、添付画像の赤枠内にようにしたいというのが、質問の内容です。
よろしくおねないします。
【マクロのソース】
Public a() As Variant
Public s As String
Sub Macro1()
Dim n As Long, i As Long
s = Range("A1")
n = Len(s)
Call submacro(n)
Call submacro2(n)
Call submacro3(n)
End Sub
Sub submacro(n As Long)
Dim ss As String
ReDim a(n - 1, 1)
For i = 1 To n
ss = Mid(s, i, 1)
a(i - 1, 0) = ss
a(n - i, 1) = ss
Next i
End Sub
Sub submacro2(n As Long)
Dim i As Long
For i = 1 To n
Cells(i, 2) = a(i - 1, 0)
Cells(i, 3) = a(i - 1, 1)
Next i
End Sub
Sub submacro3(n)
Range("B1").Resize(n, 1).Select
Selection.Replace What:="ー", Replacement:="~", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End Sub
【関連質疑】
http://okwave.jp/qa/q7479718.html
補足
カゴテリが間違ってました・・・ これはVisualBASICの質問です・・・ しかしfor文なら共通するところがあるかと・・・ 試してみます・・・