| 
    
     |  | ありがとうございました。 下記内容で満足できました。
 ご指導ありがとうございました。
 
 Dim AAA As Variant
 Dim i As Long
 For i = 2 To 50
 
 
 With Sheets("Sheet1")
 ' ・で区切ったものを配列に格納
 AAA = Split(Range("C" & i).Value, "#")
 '配列の要素数だけセルB1から右へ書き込む
 Range("D" & i).Resize(1, UBound(AAA) + 1).Value = AAA
 End With
 Next i
 
 
 ▼ichinose さん:
 >▼[名前なし] さん:
 >
 >
 >>まずはありがとうございます。
 >>できませんでした。
 >こんな投稿で済ませてはいけません・・・。
 >これでは、このような掲示板の存在意義が半減してしまいます。
 >
 >C列に以下のようなデータが入っています。
 >xxxx
 >xxxx
 >xxxx
 >xxxx
 >
 >このデータに対して、提示されたマクロを実行したところ、
 >「+」でデータが分けられた結果がD列以降に表示されず、
 >xxxxxxxxx
 >という結果にしかなりませんでした。
 >
 >入力データに対して、出力が何だったのか明確に記述して下さい。
 >
 >
 >改めて、今度は新規ブックの標準モジュールに
 >
 >'============================================================
 >Sub Macro2()
 >  Call mk_sample
 >  With Range("c1", Cells(Rows.Count, 3).End(xlUp))
 >    .TextToColumns Destination:=Range("D1"), _
 >      DataType:=xlDelimited, _
 >      TextQualifier:=xlDoubleQuote, _
 >      ConsecutiveDelimiter:=False, _
 >      Other:=True, OtherChar:="+"
 >    End With
 >End Sub
 >'==================================================================
 >Sub mk_sample()
 >  Dim idx As Long, jdx As Long
 >  For idx = 1 To 20
 >    ReDim myarray(1 To Int(Rnd() * 8) + 2)
 >    For jdx = LBound(myarray()) To UBound(myarray())
 >     myarray(jdx) = Chr(Int(Rnd() * 26) + 65)
 >     Next jdx
 >    Cells(idx, 3).Value = Join(myarray(), "+")
 >    Next idx
 >  Erase myarray()
 >End Sub
 >
 >今度は、簡単なサンプルデータもVBAで作成しています。
 >C列のデータを「+」で分けてD列以降に表示します。
 >
 >再度確認してみて下さい。
 >
 >これがうまくいくようでしたら、最初の試行がうまくいかない理由を
 >考えてみて下さい。
 
 |  |