エクセルマクロ オンライン講座コメント紹介

コメント紹介
   └ エクセルマクロ・VBA基礎編フォローアップ アドバンスド
       └ セル内の文字列から区切り文字を見つけ、その出現回数+1回だけデータ転記する

セル内の文字列から区切り文字を見つけ、その出現回数+1回だけデータ転記する

[11346] 2019-04-12 17:28:41 マサラさんからの投稿です。

【動画3】でSheet1からSheet2へ転記が行われる際に、
For kaisu = 0 To Worksheets("Sheet1").Range("G" & gyo).Value
というマクロの一文が登場しましたが、正直なところ戸惑いを覚えました。
このkaisuという変数は、マクロの実行に伴い
0→1→2→3
と4つの値を示し、その後に4回の転記が行われています。
For~Nextの構文では、例えば上記の例のgyoのように、
特定のセルの値を示すものだと思い込んでおりましたが、
このkaisuという変数はgyoのような役割ではなく、いわば形式的に置かれていると考えてよろしいのでしょうか?

 


[11347] 2019-04-12 17:46:14 小川慶一さんからの投稿です。

ジュリアンさん:

こんにちは。

> For~Nextの構文では、例えば上記の例のgyoのように、
> 特定のセルの値を示すものだと思い込んでおりましたが、

この認識が違います。

「For Next構文は、処理対象のセルを指定するための技術」と、For Next構文を特定の目的と強度に紐づけすぎていると、本質を見失い、抽象度の高い課題に対処できなくなります。

For Next構文は、カウンターの数値を変更しつつ、 For ... Next の間に記述された処理をくり返し実行するものでしかありません。
カウンターたる変数は、 For の直後に指定する。カウンターの最大値は To の直後に記述する。
ただ、それだけです。

その前提でもう一度考えなおしてみてください。
そうすると、

> このkaisuという変数はgyoのような役割ではなく、いわば形式的に置かれていると考えてよろしいのでしょうか?

のような質問はそもそも意味不明だ、と、ご自身で分かるようになるのでは?とも思います。

考えても分からない場合は、さらに質問してもらってもよいですし、もう一度、そういう視点を持ちつつ「エクセルマクロ・VBA基礎編フォローアップ ベーシック」を全問解き直すのもよいかも知れません。

よろしくお願いいたします。


> 【動画3】でSheet1からSheet2へ転記が行われる際に、
> For kaisu = 0 To Worksheets("Sheet1").Range("G" & gyo).Value
> というマクロの一文が登場しましたが、正直なところ戸惑いを覚えました。
> このkaisuという変数は、マクロの実行に伴い
> 0→1→2→3
> と4つの値を示し、その後に4回の転記が行われています。
> For~Nextの構文では、例えば上記の例のgyoのように、
> 特定のセルの値を示すものだと思い込んでおりましたが、
> このkaisuという変数はgyoのような役割ではなく、いわば形式的に置かれていると考えてよろしいのでしょうか?

 


まずはここから!スマホでも学べる無料動画講座

今なら先着30名限定で無料!定価4,800円の、初心者のためのエクセルマクロ動画講座。
  1. Excel 97~Excel 2016まですべて対応。動画本数20本、総再生時間2時間44分53秒
  2. PC, Mac, iPhone, iPad, Androidのお好みの環境で、いつでも好きなときに学べます。
2004年から10年間述べ3,000名以上に実施した研修の経験と実績を集約した講座です。
いますぐ無料で試してください。

トップへ