|
ありがとうございました。
下記内容で満足できました。
ご指導ありがとうございました。
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列以降に表示します。
>
>再度確認してみて下さい。
>
>これがうまくいくようでしたら、最初の試行がうまくいかない理由を
>考えてみて下さい。
|
|