5倍速!メールマガジン
外部アカウントで登録
受講生の声
新着の講座投稿
新着の講座コメント
新着のノート投稿
投稿一覧へ新着のノートコメント
表示できる投稿はありません。
サイト運営者紹介
小川 慶一講師/教材/システム開発者紹介
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
近藤さんの投稿
(投稿ID: 3640)
for eachの範囲について質問です。
for each in rangeで range( )のrangeの範囲を 1 to J列.end(xlup).row のようにするにはどのように表現すればいいですか?
小川 慶一さんのコメント
(コメントID: 5145)
まずは、基礎編の以下でお伝えした原則がありますね。
「基礎講座第1章2 - オブジェクトの指定」
https://forum.pc5bai.com/lesson/page/98
複数セルを含む範囲の指定は、
のように書けます(他の方法もありますが、そこがご質問の核になる部分ではないので、今は紹介省略)
上記 [1] は、以下の [2] のようにも書けます。これは、基礎編第2章。
そして、以下からは、発展編1で学んだネタと組み合わせます。
調整数型変数 mx で、F列の最終行のセルの行番号を調べましょう。
[2], [3]より、以下となります。
あるいは、以下の [5] でもOK。
For Each 構文の範囲指定に使うということであれば、[5]の .Select より前を取り出して、以下ですね。
もっとも、こんなのはじめから書ける必要はありません。
もっと分解して、まずはこんなところからできればいいんじゃないでしょうか↓。
というか、たぶん上記[7]でも難しいかと思います。
ということで、さらに分解。最初の最初は、こんなところからできるようになればよいかと↓。
もっとも、For Each構文は他の構文と比べて登場する部品が抽象的です。
慣れないうちは、できるだけ具体的にできるところは具体的にしたほうが良いかと思います。[6]のような書き方は、かなり慣れてからでなければお勧めできません。
[6]より[7], [7]より[8]のほうがお勧めですね。
[8]の書き方で書き飽きたら[7], [7]の書き方で書き飽きたら[6]、と進化していってください。
まずは、こんなところで回答としてはいかがでしょうか。
近藤さんのコメント
(コメントID: 5147)
下記のご回答ありがとうございます。
練習を重ねてマスターできるよう精進します!