Page 606 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼範囲の指定について mumumu 03/1/24(金) 14:10 ┗Re:範囲の指定について JuJu 03/1/24(金) 15:07 ┗Re:範囲の指定について mumumu 03/1/24(金) 15:30 ─────────────────────────────────────── ■題名 : 範囲の指定について ■名前 : mumumu <mumumu@wa-o.net> ■日付 : 03/1/24(金) 14:10 -------------------------------------------------------------------------
またまた、簡単な質問で申し訳ないのですが教えて下さい。 Range(A3:G5)のように指定する場合に、行数の3や5の部分が 変化していくので、変数で指定したいのですが、どう書けばいいのでしょうか? セル(K1)に数字が入っていて A列の数字は ○*5+3 という式から計算されます。○には最初0(ゼロ)を 入れます。ですからA列の最初は3です。 G列の数字は上で計算した数字に2プラスした数字です。 ですからG列の最初は5です。 一度処理を行った後、次は○には1入ります。○の数字は1つずつ整数で 増えていきます。つまりA列は3,8,13...と変化していき G列は5,10,15...と変化していきます。 ○=K1まで続けて処理は終了になります。 説明がわかりにくいかもしれませんが、よろしくお願いします。 |
mumumuさん、こんにちは >Range(A3:G5)のように指定する場合に、行数の3や5の部分が >変化していくので、変数で指定したいのですが、どう書けばいいのでしょうか? >セル(K1)に数字が入っていて >A列の数字は ○*5+3 という式から計算されます。○には最初0(ゼロ)を >入れます。ですからA列の最初は3です。 >G列の数字は上で計算した数字に2プラスした数字です。 >一度処理を行った後、次は○には1入ります。○の数字は1つずつ整数で >○=K1まで続けて処理は終了になります。 0からK1まで繰り返しですので、こんな感じです。 For i = 0 To Range("K1").Value ' ここで処理 Next ここまでは分かりますか? で選択の処理ですが色々方法がありまして、 1.単純に文字列連結してアドレスを作成 Range("A" & CStr(i * 5 + 3) & ":G" & CStr(i * 5 + 5)).Select 2.基点からサイズを変更 Cells(i * 5 + 3, 1).Resize(3, 7).Select 3.初期範囲から移動 Range("A3:G5").Offset(i * 5).Select 4.その他^^; 2とか3がお勧めです。 状況によって使い分けるのも良いかもしれませんね。 ではではぁ |
▼JuJu さん こんにちは^^ > For i = 0 To Range("K1").Value > ' ここで処理 > Next > >ここまでは分かりますか? はい。おっけーです。 私はDo...Whileでやればいいのかなと 考えていたのですが、JuJuさんの答えの方が 自分にもわかりやすいのでこっちに変更しました。('◇')ゞ Whileの後になんと書けばよいのかも密かに悩んでおりましたので。 >で選択の処理ですが色々方法がありまして、 > >1.単純に文字列連結してアドレスを作成 > > Range("A" & CStr(i * 5 + 3) & ":G" & CStr(i * 5 + 5)).Select > >2.基点からサイズを変更 > > Cells(i * 5 + 3, 1).Resize(3, 7).Select > >3.初期範囲から移動 > > Range("A3:G5").Offset(i * 5).Select > >4.その他^^; > >2とか3がお勧めです。 >状況によって使い分けるのも良いかもしれませんね。 私が想像していたのは、1の答えのようなものでした。 でも、3が一番簡単でわかりやすい気がしたので、これでやってみたら うまく行きました。 ありがとうございます。 いつものことなのですが、条件などを決める方法を何を使えばいいのかで 悩み、処理のやり方で悩み。。。。躓いてばかり。 なかなか学習能力がないというか、応用できないというか(^^ゞ 助けていただいて本当に嬉しいです。 ありがとうございました。 またよろしくお願いいたします。 |