|
こんにちは。かみちゃん です。
>のような変換結果となり、まだバグがありそうです。見てご覧の通り、Sheet2のセルB3のデータが空セルとなっています。例題だとこのセルには「い」の文字列データが入っていなければなりませんが・・・。それとこのコードもやはり列の数には制約があるようで、最終列は3列目と固定されているようですね。
>バグ取りと列の制約をはずすことが可能でしょうか?
申し訳ありません。
以下の★印の行を修正してください。
とりあえず、最終列がC列だった場合としています。
For i = 1 To .Range("A1").End(xlDown).Row
If IsEmpty(.Cells(i, 3).Value) Then
ReDim Preserve Ary1(j): Ary1(j) = .Cells(i, 1).Value
ReDim Preserve Ary2(j): Ary2(j) = .Cells(i, 2).Value '★
ReDim Preserve Ary3(j): Ary3(j) = ""
j = j + 1
なお、「列の制約」ですが、「行と列の数は任意とします。要は最終列にあるカ
ンマ区切りのデータを分離」とあるのですが、最終列を取得して処理し、その左
2列を一緒に転記するよな仕組みでいいですか?
たとえば、最終列がJ列だったとすれば、J列をカンマ区切りの処理をする。
処理後、H列とI列とともに転記するような仕組みがお望みですか?
それと、最終列を取得するときに使いたいのですが、タイトル行は、1行目に必
ずあるものとするのでしょうか?または、これも任意なのでしょうか?
そもそも処理対象範囲どこからどこまでかをまず特定しなければ、処理ができないと思います。
また、転記先(Sheet2)の対象範囲も同じくです。
その、処理対象範囲についての考え方をもう少し提示してください。
私もKeinさんも、A1から始まる3列に対して処理をすることを考えています。
|
|