|
こんにちは。かみちゃん です。
>かみちゃんさんのコードをお借りすれば
>
>Dim c As Range
>
>For Each c In Range("B1", Cells(Rows.Count, "B").End(xlUp))
> s = Split(c.Value, vbLf)
> '〜省略〜
>Next
>
>といった単純な範囲指定(最初のセル、最後のセル)で
>ループすればいいかと思います。
私が単純な範囲指定でのループを提案していないのは、
> B列の中でデータがある行だけ、実行させたい
という要件で、無用なセルの読み込みをさせないというところがポイントでした。
それについては、一般操作の「ジャンプ」機能を「マクロの記録」で記録すれば
わかることなので、そんなに難しい話ではないはずです。
もちろん、データがない行も読み込んで、データがあるセルの場合だけ、
For 〜 Next 内の処理をするならば、kanabunさんの方法でもいいと思います。
For Each c In Range("B1", Cells(Rows.Count, "B").End(xlUp))
If c.Value <> "" Then
s = Split(c.Value, vbLf)
'〜省略〜
End If
Next
|
|