性格いい人が優勝

マクロの記録を使って、部分的に編集して使っています。
以前BASICをやっていたので、若干理解できる部分があります。
教えていただきたいのは、例えば Range("A1").SelectのA列1行目の行の部分を
for i =1 to 10 として、1行目から10行目までを順次セレクトする方法を教えてください。
よろしくお願いいたします。

A 回答 (3件)

選択するのに、Rangeプロパティではなくて、Cellsプロパティを使います。



Range("A1").SelectはCells(1,1).Selectと書き換えることができます。
Cells(行番号, 列番号)という書き方になるので、行をiで置き換えると
Cells(i,1).Select となります。

これをForの中に入れて、iを変化させれば順次選択することができます。
    • good
    • 0
この回答へのお礼

moon00 様
回答ありがとうございます。判りやすい内容でたすかります。

お礼日時:2014/12/16 12:32

For Each~Nextステートメントを利用することも出来ます



例:
Sub Macro1()
Dim ts As Range
For Each ts In Range("A1:A10")
’ココに処理
’処理例:
ts = i
i = i + 1
Next
End Sub

実行するとA1セルからA10セルまで順に処理が実行されます

範囲指定をRange("A1:B10")と指定した場合は
A1⇒B1⇒A2⇒B2⇒・・・・⇒A10⇒B10
と処理が実行されていきます

for~nextでセル番地を指定したループよりも感覚的に分かりやすいかと
    • good
    • 0

現在のコードを生かすならセル番地の部分を以下のように変更します。



Range("A" & i).Select
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!