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

コメント紹介
   └ 解説「伝票作成マクロ」
       └ 取引記録に登場するすべての取引先名のシートを作成する(IDの割り振りも行う)

取引記録に登場するすべての取引先名のシートを作成する(IDの割り振りも行う)

[9340] 2018-01-12 06:25:45 三橋さんからの投稿です。

小川様

いただいた返信をもとにF8でひとつずつ動きを確認してみました。よくわかりました。

Next~For構文では、構文内の繰り返し(2~9行)が終わり次の命令に移るその時に「Nextを通る」ため、最後の最後にカウンター変数は一つだけ増えてしまうんですね(カウンター変数cGyoは10になっていた)。

いやぁ私にとってこれは大きな発見でした。
モヤモヤしていましたが、小川さんの「カウンター変数を再利用するのが意味がない」という意味がよくわかりました。。

すっきりしました。質問してよかったです。

 


[9341] 2018-01-14 21:39:00 小川慶一さんからの投稿です。

三橋さん:

お楽しみいただけているようでなによりです (^^

「カウンターが1だけ増えている」とは限りません。
例えば、以下のプログラム参照。

Sub hoge()
    Dim c As Long
    For c = 2 To 33 Step 3
        Debug.Print c
    Next
    Debug.Print c
End Sub


以下は、出力結果:
 2 
 5 
 8 
 11 
 14 
 17 
 20 
 23 
 26 
 29 
 32 
 35 


ともあれ、

>最後の最後にカウンター変数は一つだけ増えてしまうんですね

いちおうご理解されているもの..と思いつつあえてもう一度書きますが、言語の仕様として、ループを抜けた直後のカウンター変数の値は保証されていません。なので、それを利用するための知見は無意味です。
ひきつづき、お楽しみください☆

 


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

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

トップへ