こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VBAで空白セルまで処理を繰り返す方法

お忙しいところ申し訳ありません、よろしければご指導のほど御願いします。
作成環境:エクセル2003です。

文字列として保存されている数値を数値形式に変換したいのですが、マクロ記録で実行した所

Sub test()
'
' test Macro
'
Range("BG2").Select
ActiveCell.FormulaR1C1 = "1"
Range("BG2").Select
Selection.Copy
Columns("BI:BI").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
SkipBlanks:=False, Transpose:=False
ActiveWindow.SmallScroll Down:=-75
Range("BG2").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("BG5").Select
End Sub

上記のようなコードになり、空白セルも値「0」が入力されはみだしてしまいます。
目的としてはCSVを読み込んで特定の列だけ変換できればと考えています、ところが取り込むCSVデータの行が毎回変動いたしまして範囲を指定して処理を実行するのではなく「空白セルまで処理を繰り返す」方法を模索しております。
先日会社から作業負担を軽減するようにVBAでの依頼を受けましたが、皆目検討つかず苦戦しております。お忙しいところもうしわけありませんが、ご指導のほど御願い申し上げます。

投稿日時 - 2011-10-12 14:49:00

QNo.7066992

困ってます

質問者が選んだベストアンサー

「空白セルまで処理を繰り返す」ということは「開始セルから終了セルの間に空白セルは無い」ということでいいですよね?
For Each と End を使用し

For Each c in Range([開始セル], [開始セル].End(xlDown).Cells
※変換処理
Next

で実現できます。
For Each と End についての詳細はヘルプを参照してください。

投稿日時 - 2011-10-12 15:10:53

お礼

ご連絡遅くなりまして申し訳ございません。
上記構文を早速試してみます、またFor Each と Endにつきましてもこの機会にヘルプで勉強させていただきます。
素早い回答本当にありがとうございました。

投稿日時 - 2011-10-12 16:04:03

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問