| 
    
     |  | ▼コノシロ さん: こんばんは。
 
 > 住所録を作ろうとしているのですが、長い住所を「スペースを打ち込んだ位置」で自動的に改行し、なおかつ行が増えるごとに1文字ずつ字下げを行ってくれるプログラムをVBAで作成しております。しかしどうしても「スペースを見つけて、スペースを改行に置き換える」方法が分かりません。一体どうすればよろしいのでしょうか?
 >
 >例:(アンダーバーをスペースとしてみてください)
 >
 >入力セル:宮城県仙台市泉区七北田_字真美沢1−2−34_コーユウパレス大町204号
 >    ↓
 >出力セル:宮城県仙台市泉区七北田
 >(字下げは _字真美沢1−2−34
 >   全角)__コーユウパレス大町204号
 いろんな方法があると思いますが・・、一例です。
 '=======================================================
 Sub main()
 Cells(1, 1).Value = add_vblf_nest("宮城県仙台市泉区七北田字 真美沢1−2−34 コーユウパレス大町204号")
 End Sub
 '=======================================================
 Function add_vblf_nest(cnv_str As String)
 Dim wk
 wk = Split(cnv_str, " ")
 For idx = 1 To UBound(wk)
 wk(idx) = String(idx, " ") & wk(idx)
 Next
 add_vblf_nest = Join(wk, vbLf)
 End Function
 
 尚、セル幅は、予め調節して置いて下さい(それも含めてなら、方法もあるけど)。
 
 |  |