googletag.defineSlot('/21812778492/blog_300x250_common_ctc02_adsence', [300, 250], 'div-gpt-ad-1566564559478-0').addService(googletag.pubads()); こんにちは、業務自動化ツール開発担当の吉池(@valmore_myoshi)です。, みなさん、Excel操作のなかで同じことを繰り返す作業はありませんか?単純だけど、量が多いと時間がかかって仕方ありません。, そんなときは繰り返し(ループ)処理を簡単に書けるFor文を使いましょう!For文を使うことで簡潔にループ処理を書けるようになります。, 書き方からわかるようにFor文にはカウンタ変数と初期値、終了値が必要です。繰り返し処理が終わったあとで初期値に1が加算され、終了値を超えるまで繰り返されます。, カウンタ変数には繰り返しごとに初期値に1加算した値が入ります。例えば、カウンタ変数を組み合わせて文字を表示する処理を5回繰り返すプログラムを見てみましょう。, For文の中にFor文を入れることを入れ子(ネスト)といいます。外側のFor文が繰り返されるごとに、内側のFor文の繰り返しがすべて実行されます。, セルを扱うときにFor文をネストさせることはよくあります。例えば、5行×5列のセルに文字列を代入する処理を考えてみましょう。For文をネストさせれば下記のように簡単に書けます。, For文は繰り返しのたびに、最初に設定した初期値に1が加算されますが、Stepを使うことで加算する値を変更できます。, 例えば、2ずつ加算する場合は下記のように書きます。初期値に1を設定しているので、1, 3, 5, 7, 9と奇数が表示されます。, また、Stepにマイナス値を設定することで初期値を減算させることも可能です。例えば、下記は初期値に5を設定し、1ずつ減算しています。, 条件を満たしたらループを飛ばしたり、途中で抜けたいとき、ありますよね。ほかのプログラミング言語を経験している方であれば、Continue使えないの?と思うかもしれませんが、VBAにはContinueはありません。, なので、条件にあわせてループを飛ばしたいなら、If文を使いましょう。例として3回目の処理だけ飛ばすように書いてみます。, 途中でループから完全に抜けるのであればExit Forを使えます。例えば、3回繰り返したらループを終了する処理は下記のように書きます。, 配列やコレクションに含まれる全要素を繰り返したいときはFor Each文が最適。For文でも書けないことはないですが、For Each文では要素の数だけ繰り返してくれるのでとても便利です。, 例えば、配列の値をすべて表示する処理を取り上げてみます。配列を用意し、各要素を一つずつ格納する変数を定義します。For Each文で最初に設定する変数にはVariant型かオブジェクト型しか使えないので要注意です!, 繰り返し処理にはFor文のほかにもDo While ~ Loop文があります。Do While ~ Loop文は条件を満たしている間ループ処理させることが可能です。, 例えば、セルに値が入っていれば、となりのセルに〇を代入する処理を書いてみると下記のようになります。, このようにFor文でもDo While ~ Loop文でも繰り返し処理が書けますが、条件の指定方法がそれぞれ異なります。, ループ回数を指定したり、配列やコレクションの要素数分だけループさせたいときはFor文がオススメ!逆に繰り返し回数がわからなかったり、ループ回数に依存しない条件の場合はDo While ~ Loop文が適しています。, Do While Loop文について詳しく知りたい方はこちらの記事をご覧ください。【Excel VBA入門】Do While ~ Loop文の使い方。条件付きループを学ぶ, 繰り返し処理を簡潔に記述できるFor文について解説しました。For文さえ覚えてしまえば、面倒なループ処理ともおさらばです。, 繰り返し処理はなにかと面倒なもの。VBAを駆使してExcel操作の自動化に取り組む背景には、こうした繰り返し処理に嫌気がさしたからという方も多いのではないでしょうか?, 【Excel VBA入門】Do While ~ Loop文の使い方。条件付きループを学ぶ, 【完全初心者向け】Python入門その3-プログラムを書いてみよう(Windows10編)-, 【完全初心者向け】Python入門その1-プログラムって?Pythonがおすすめの理由-, 【Excel VBA入門】Select Case文の使い方。複数条件をスッキリ書く!, 【Excel VBA入門】ドロップダウンリストの作り方。複数リストの連動方法も解説. ・For文を入れ子にぜずにそれぞれの処理をイミディエイトで確認したところ、 googletag.defineSlot('/21812778492/blog_300x250_common_sidetop01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565330658303-0').addService(googletag.pubads()); vba100本ノック 15本目:シートの並べ替え|vba練習問題100(11月4日) vba100本ノック 14本目:社外秘シート削除|vba練習問題100(11月3日) vba100本ノック 13本目:文字列の部分フォント|vba練習問題100(11月1日) Sum=Sum+i またDate型は整数値が日を表しているので、単純に開始日にループの値を加算していけばよいです。 1日の1/3以上を占める仕事時間が充実すれば、より良い人生になる確率はグッと上がります。まずは、Excelを実務へフル活用し、デスクワークの生産性を上げてしまいましょう。そのための考え方やテクニックをこのブログでは解説していきます。, Excel VBAで便利なループ処理はネスト(入れ子)にすることで複雑な処理を行なうことが可能です。, 今回はFor Nextステートメントでループ処理をネスト(入れ子)する方法について解説していきます。, For Nextステートメント自体に馴染みがない方は過去記事のこちらをまずはご参照ください。, 【Excel VBA】For Nextステートメントで同じ処理を指定した回数分繰り返す方法 | Excelを制する者は人生を制す ~No Excel No Life~, 構造化プログラミングにおける、プログラムの構築手法のひとつ。複数の命令群をひとまとまりの単位にくくり、何段階にも組み合わせていくことでプログラムを構成する。このまとまりをネストという。主なネストの種類は、条件分岐(C言語などでは「if」文)、一定回数の繰り返し(同「for」文)、および条件つき繰り返し(同「while」文)である。ネストの内部に別のネストを何段階にも重ね、入れ子構造にしていくことを指して「ネスト」「ネスティング」と呼ぶことがある。, 参照元:ネストとは 〔 入れ子 〕 【 nest 】 - 意味/解説/説明/定義 : IT用語辞典, A1セルの値を"1-1"とし、A1セルを起点に値の左の数字は行、右の数字は列が増えるに従い、それぞれ1ずつ加算されていき、最終的には"5-5"になるようにします。, 2・3行目でカウンタ変数をInteger型で設定します。変数名は"i"と"j"としています。, 今回の開始値はA1セルから5回繰り返し処理を行なうので5・6行目のどちらも開始値は1、終了値は5となります。, 今回の条件は「A1セルを起点に値の左の数字は行、右の数字は列が増えるに従い、それぞれ1ずつ加算されていき」なので7行目は「Cells(i, j).Value = "'" & i & "-" & j」となります。, 「Cells(i, j).Value」でA1~E5列の値を示し、代入演算子(=)で行数と"1-1"~"5-5"の値が代入されるように設定しています。, Excelの設定上単純に"1-1"と入力すると日付情報として認識されてしまうため、「 ' 」[アポストロフィ]を頭に入れて文字列扱いにしています。, ●が行番号でiの変数の処理、○が列番号(Aが1、Eが5)でjの変数の処理となります。, なお、処理の優先順位は上図の通りVBAのコードの中の内側の処理(今回であればjの処理)が優先されます。, ネストをやりすぎると繰り返し処理の回数が膨大になってコードの実行に時間がかかる要因になる場合がありますので注意しましょう。, 規則性がある繰り返し処理を行なう際に今回のループをネストすることで対応できる可能性があります。, コードが複雑になりがちですが、少しずつコードを実行しながら適宜修正することで希望の結果を得られますので、ぜひ試してみてください。, ピボットテーブルも関数も、パワーピボットもパワークエリも、ケースに応じて良いとこ取りで使い倒す。Excelを全方位的にフル活用する。それが、「Excelで行うデータ集計・分析」を極めるための近道であり、本書ではそのノウハウを徹底的に追求します。 Sum=0 14. 侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。, 「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。, 熊本在住のフリープログラマ兼ライターです。C/C++/C#、Java、Python、HTML/CSS、PHPを使ってプログラミングをしています。専門は画像処理で最近は機械学習、ディープラーニングにはまっています。幅広くやってきた経験を活かしてポイントをわかりやすくお伝えしようと思います。 →D2セル「2021/01/01」(開始日) 2行1列目 , 2行2列目 ,.... 2行5列目 の順にセルの内容を読み取る。続いて End Sub, <解説> 1, 回答 googletag.defineSlot('/21812778492/blog_300x250_common_sidemiddle01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198726712-0').addService(googletag.pubads()); テンプレートシートには5(E列)から表示されています。, VBAの勉強中であるため分かりにくい箇所があるかもしれませんが、 思考回路をリセットして、小さい店だから出来ること、レスポンスが良く、小回りの利く仕事スタイルを目指して実践しています。 01行目はプログラムの先頭を表し、22行目はプログラムの末尾を表しています。, 03,04行目について: 内側のFor文のループ変数が終了値を超えたら、外側のFor文のループ変数を更新して(「直前のループ変数の値」+「増減値」に更新して)【Step1】に戻ります。, 少し文章での説明がながくなりましたので、ここで九九の計算の2重ループについてのフローチャートをご覧ください。, ここまでで、九九の計算のプログラムについて説明してきましたが、実際にVBEのコード画面に九九の計算をするTimesTableのプログラムを入力して動かしてみましょう。, 先ほど、下図のようにVBEの画面のMo04_Forというモジュールに「CalcSum」という名前のプログラムを作成しました。今回のブログではこのプログラムの上側にプログラムを入力していきたいと思います。ちょうど赤矢印の部分に入力しましょう。, プログラムは入力できましたでしょうか。それではプログラムを動かしてみましょう。通常、プログラムの動かす場合、動かしたいプログラムの中(このプログラムであれば、Sub TimesTable() と End Sub の間)にカーソルを置いてF5キーを押します。, では、ここでキーボードのF8キーを1回押してみましょう。すると、下図のように外側のFor文の開始位置がハイライトされました。, この行はこれから実行される行で、まだ実行されていません。この時点での変数iの内容を確認してみましょう。マウスのカーソルを変数iの付近に近づけると下図の赤枠部のように変数iの内容は「0」であることが分かります。, それでは、F8キーをもう1回押してみましょう。すると下図のように内側のFor文の開始位置がハイライトされました。, この行はこれから実行される行で、まだ実行されていません。この時点での変数iと変数jの内容を確認してみましょう。マウスのカーソルを変数iと変数jの付近にそれぞれ近づけると下図の赤枠部のようになります。, 変数iの内容は「1」,変数jの内容は「0」であることが分かりますね。直前で外側のFor文のハイライトが解除され、ループ変数iに初期値である「1」の代入処理が行われたことを意味しています。, それではF8キーをもう1回押してみましょう。すると下図のように九九の表示を行うDebug.Printの行がハイライトされました。, このハイライトされたDebug.Printの行は、これから実行される行でまだ実行されていません。この時点での変数iと変数jの内容を確認してみましょう。場所はどこでも大丈夫ですので「i」又は「j」と書かれた部分にマウスカーソルを近づけてみてください。するとそれぞれ下図の赤枠部のようになります。, 変数iの内容は「1」,変数jの内容は「1」であることが分かりますね。直前で内側のFor文のハイライトが解除され、ループ変数jに初期値である「1」の代入処理が行われたことを意味しています。また、この時点で変数iと変数jには九九の計算の最初の組み合わせである「1」と「1」が正しく準備されていることが分かります。, それではF8キーをもう1回押してみましょう。すると直前のDebug.Printの行のハイライトが解除されて実行され、下図のようにイミディエイトウィンドウに九九の掛け算の1つ目が表示されます。また、内側のFor文のNext jの行がハイライトされます。, それでは、ここからはF8キーをどんどん押していき、イミディエイトウィンドウに下図のように九九の1の段が全て表示されたところで止めてください。(プログラム上ではNext j の部分がハイライトされた状態で止めてください。), ここからが2重ループの重要な動きの確認になります。F8キーをもう1回押してみましょう。すると下図のように一旦、内側のFor~Next j のセットを終了して、外側のFor文のNext i の行がハイライトされました。, では、この時点で外側のFor文のループ変数iの内容を確認してみましょう。すると下図のようにこの時点では変数iの内容は「1」のままだとわかります。そうです、変数iはNext i の行が実行された時点で更新されるのでしたね。ハイライトされている行はまだ実行されていないので「1」のままというわけです。, ここからの動きも重要ですが、F8キーをもう1回押してみましょう。すると下図のように(内側のFor文の中のDebug.Printの命令ではなく)内側のFor文の開始位置がハイライトされました。つまりこれはどういうことかというと、内側のFor文のループ変数jがまた初期化されて「1」からスタートするということです。但し、この時点ではまだ、内側のFor文の初期化は実行されていません。, では、この時点での変数iと変数jの変数の内容を再度確認してみましょう。するとそれぞれ下図のようになります。, この時点で変数iは「2」,変数jは「10」になっています。この変数の動きについてご説明します。変数iは直前でNext i の行が実行されたことで「初期値+増減値」、つまり「1+1」に内容が更新されたことによります。, また変数jですが「1」になったと思いましたか?内側のFor文はハイライト状態のため、まだ変数jの初期化はおこなわれていません。先ほど、Next i の前にNext j の行が実行されたことを思い出してください。これにより変数jは「終了値+増減値」、つまり「9+1」で内容が更新されたことになります。また変数jの内容が「10」になったからこそ、一旦、内側のFor文が終了したのですね。, では、もう1回、F8キーを押してみましょう。すると、内側のFor文の開始位置のハイライトが解除されDebug.Printの行にハイライトが移りました。, では、この時点での変数jの内容を改めて確認してみましょう。マウスポインタを変数jに近づけてみると下図のようになっています。, 変数jの内容が、ここで「1」に戻りました。これは直前で内側のFor文のループ変数jの初期化処理が行われたためです。, ではここで、F8キーをもう1回押してみましょう。すると、下図のように2の段の最初の組み合わせの結果が表示されます。, 九九の掛け算はこのような流れで動いていきます。では、F5キーを押して、プログラムを最後まで実行しましょう。これで、下図のようにイミディエイトウィンドウに九九の結果が全て表示されます。, 2重ループについて、初めは少し難しく感じるかもしれませんが、慣れれば簡単ですので、ぜひ理解してください。, 長くなりましたが、今回はFor文の利用用途とFor文による具体的なプログラムについてご紹介しました。, 【電子書籍出版のご案内】     Sum=Sum+i こんにちは、じゅんぱ店長(@junpa33)です。 今回は、ちょっとしたお遊び要素もあるエクセルVBAの紹介です。 同じデータを複数のセルに入力できる「データスタンプVBAソフト」を紹介します。 データの入力を、まるでスタンプを押すような感 ... こんにちは、じゅんぱ店長(@junpa33)です。 今回は、「データスタンプVBAソフト」のVBAコードの説明を行います。 簡単なコードですので、すぐに出来てしまうと思います。 どんなソフトかというのは、こちら↓でご覧いただけます。 1クリ ... こんにちは、じゅんぱ店長(@junpa33)です。 今回は知識編、マルチページの設置方法です。 ユーザーフォームはマルチページでデザイン数も広がります。 使ってみる前は難しく思えますが、設置は至って簡単!非表示化で秘密コマンドも作れます。 ... 今回はエクセルVBAソフトのプチなバージョンです。 こんにちは、じゅんぱ店長(@junpa33)です。 無料ダウンロードできます。エクセルシートを非表示に変更するソフト。 VBAコードで「ボタンのONとOFF」で行います。使用中エクセルBO ... 今回は前記事のエクセルVBAソフトの使い方を解説します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルシートを表示と非表示に変更できるソフトの使い方です。起動させるにはまずロックを外す必要があります。 トグルボタンのONとO ... 今回は、エクセルシート非表示VBAソフトのコードの説明を行います。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAのIf~Gotoで処理分岐します。シート非表示VBAソフトのコードの紹介です。 コントロールのイベント処理 ... エクセルVBAのコード組み立てで、非常によく使うステートメントの一つにFor~Nextでのループ処理があります。 今回はこのFor~Nextステートメントの使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルV ... エクセルVBAのコードで、Gotoステートメントは嫌われ系のグループにはいっています。 それでも、GotoがあるのでVBAコード組み立てがスムーズに、楽に、なる事も多いと言うのも事実です。 こんにちは、じゅんぱ店長(@junpa33)です。 ... エクセルVBAのコード組み立てで、よく使うメソッドの1つで「Copy」メソッドがあります。 今回はこの「Copy」メソッドの使い方を説明します。 こんにちは、じゅんぱ店長(@junpa33)です。 エクセルVBAで、ワークシートのコピーをを ... エクセルVBAのコード組み立てで最も必要な、最もよく使うメソッドの1つで「If~Then~Else」があります。 今回はこの「If~Then~Else」メソッドについて設定条件の絞り方のポイントを説明します。 こんにちは、じゅんぱ店長(@j ... https://shimaydo.com/wp-content/uploads/2019/06/uguisu190614.m4a. 12. VBAのネストしているFor文が期待通りに実行されません。 以下に現状をまとめました。 【作業環境】Windows 7 ProfessionalExcel 2007 【やりたいこと】テンプレートシート(オブジェクト名:wsTemplate2)→E2セルから右に開始 04. という感じで以下のように修正しました。, 回答 googletag.defineSlot('/21812778492/blog_728x90_common_eyecatch01_adsence', [728, 90], 'div-gpt-ad-1566564252373-0').addService(googletag.pubads()); 15. Excelでできるデータの集計・分析を極めるための本」が9/8より絶賛発売中。その他の著書は「すごい! 地方の小さな書店で、店長をしています。 Debug.Print "奇数の和=" & Sum 13. Debug.Print "偶数の和=" & Sum var googletag = googletag || {}; Next j お問合せはこちらでも受け付けています。 05. エクセルVBAのコード組み立ての中で、For~Nextの入れ子ループ処理は頻繁利用するところです。このFor~Nextの入れ子の考え方を最速で理解できるようにします。理屈が分かればカンタンなことです。 内側のFor文の処理に移り、内側のFor文のループ変数を初期値から終了値まで変化させながら、内側のForとNextの間に囲まれたプログラムの命令を実行します。, 【Step3】 Sub TimesTable() 今回は、「速読VBA単語」というタイトルにもかかわらず新しく覚える単語が1つもありませんので、最後まで無料で読むことのできる無料公開のページといたします。 Program3-6とProgram3-7の中間に位置する補講です。 前回Program3-6では配列の練習をしました。次回Program3-7では「二重ル―プ」「1次 … 日付は2021/01/28から始まっており、 この情報発信が、何かの問題解決の一助となればと願っています。. googletag.defineSlot('/21812778492/blog_728x90_common_overlay_adsence', [728, 90], 'div-gpt-ad-1583302554779-0').addService(googletag.pubads()); Sum=0 01行目はプログラムの先頭を表し、13行目はプログラムの末尾を表しています。, 02,06行目について: →E2セルから右に開始日~終了日までを表示, 【困っていること】 Debug.Printという命令で奇数,偶数の和の計算結果をイミディエイトウィンドウに表示しています。文字の部分は「"(ダブルクォーテーション)」で囲み、この文字と変数Sumの内容を連結するために「&」記号を用いています。, 先ほど、15行目の「Sum=0」という行(変数の初期化)は省略できないとお伝えしました。この理由について、別の視点からお伝えすると、それはSumという変数を使いまわしていたからです。プログラムの中で1つの変数を使って複数回、別の計算や用途に利用することを、変数を使いまわすと言います。もしあらかじめ奇数の和の格納用にSum1,偶数の和の格納用にSum2のような変数を宣言していれば、15行目の変数の初期化の処理は省略できました。変数を使いまわす場合は途中で初期化を忘れると不具合の原因になりますので、注意しましょう。, 変数をいくつ用意するかは、プログラミングする人に委ねられています。後々の事を考慮しながら変数を宣言しましょう。今回の例では整数の和を計算した後にその都度、変数Sumの内容を表示していたので、変数Sumを使いまわしても問題ありませんでしたが、奇数と偶数、それぞれの和をプログラムの最後に同時に表示するような場合は途中で変数Sumを初期化するわけにいかないので、Sum1,Sum2のように、それぞれの結果を格納する変数を用意して計算する必要があります。この点も変数の宣言のテクニックとなりますので覚えておきましょう。, For文で利用されているもう一つの変数i(ループ変数)も使いまわされています。ただ、変数Sumのような形の初期化の行が無いようにも見えますが大丈夫でしょうか?前回のブログをご覧になった方はお分かりと思いますが、For文ではForと書かれた行で(つまりFor文の開始時に)ループ変数の初期化が行われるのでしたね。今回のケースでは各For文の開始時にループ変数iが初期化されるので、1つの変数iを使いまわしても問題ありませんでしたが、この変数についても別々に用意するかという判断は前述の通りプログラムの書き方や用途によります。, ここまでで、整数の和のプログラムについて説明してきましたが、実際にVBEのコード画面に整数の和の計算をするCalcSumのプログラムを入力して動かしてみましょう。, 前回のブログで下図のようにVBEの画面のMo04_Forというモジュールに「Test1」という名前のプログラムを作成しました。今回のブログではこのプログラムの上側にプログラムを入力していきたいと思います。ちょうど赤矢印の部分に入力しましょう。, プログラムを入力すると下図の赤枠部のようになりました。みなさんも同じようになりましたか。1点補足になりますが、先ほどお伝えしたコメントの行は、下図のように緑色の文字に変化します。これはプログラムの命令とコメントを区別するためのExcelの親切機能ですね。, プログラムは入力できましたでしょうか。それではプログラムを動かしてみましょう。通常、プログラムの動かす場合、動かしたいプログラムの中(このプログラムであれば、Sub CalcSum() と End Sub の間)にカーソルを置いてF5キーを押します。, この方法でもよいのですが、今回はステップ実行というプログラムを1行ずつ動かせる便利な機能を使って動かしてみたいと思います。カーソルを上記のようにプログラムの中に置いた状態でキーボードのF8キーを1回押してみてください。すると下図のように、プログラムの先頭が黄色でハイライトされました。, これ以降では、このプログラムのポイントとなる部分をメインに解説していきます。続いて、F8キーを2回押してみましょう。すると、プログラムの命令ではないDimから始まる変数の宣言を通過し、「Sum=0」という変数の初期化の行が実行された後、下図のようにFor文の行がハイライトされます。, この時点で、For文のループ変数である、変数iの内容を確認してみましょう。変数iの上付近にマウスのカーソルを合わせてみてください。すると下図の赤枠部のように変数iの内容は「0」と確認できます。黄色でハイライトされている行は、これから実行される行でまだ実行されていません。そのためこの時点での変数iの内容は変数iの宣言直後の状態「0」というわけです。, つづいてF8キーをもう一度押してみましょう。すると下図のように「Sum=Sum+i」の行が黄色でハイライトされます。このハイライトされている行は、先ほどと同様、これから実行される行でまだ実行されていません。, このプログラムの重要なポイントに来ました。Sum=Sum+i という式について解説します。変数のブログのところでもご説明しましたが、Excel-VBAでは、このように左辺と右辺が「=」で結ばれた式の場合、右辺の計算が先に行われ、左辺の変数に代入されるという動きをします。(数学のように変数を移項しません。), この動きを確認するために、この時点での左辺と右辺の各変数にマウスポインタを近づけて、その中身を事前に把握しておきましょう。, ここまでで、「Sum=Sum+i」の実行直前の各変数の状態がわかりました。左辺と右辺にある変数Sumの中身が共に「0」,右辺の変数iの中身は「1」となっています。左辺と右辺にある変数Sumの中身が共に「0」で同じなのは、同じ変数で、なおかつ、メモリ上で利用している場所も同じ1つの場所のため、このような表示になります。変数iの中身が「1」になったのは直前のForの行で変数の初期化が実行されたためです。, 上記の変数の状態が何を示しているかというと、このハイライトされた行をこれから実行すると右辺の「0+1」が計算され、この計算結果である「1」が左辺の変数Sumに代入される(変数Sumの内容が「0」から「1」に更新される)ことを表しています。, ではF8キーを1回押してみましょう。すると下図のようにNext i の行がハイライトされます。これで「Sum=Sum+i」の行は実行されたことになります。, この時点で、再度、左辺と右辺の各変数にマウスを近づけて、その内容を確認してみましょう。, 変数Sumは左辺,右辺ともに「1」,右辺の変数iは「1」となっています。変数Sumの左辺と右辺がともに「1」で同じなのは、同じ変数を表しているので常にこのような結果になります。それよりも重要な点は「Sum=Sum+i」の右辺の内容、数字に置き換えると「0+1」が計算されて、左辺の変数Sumの内容が「1」に更新されたという点です。先ほどお伝えしましたが、「Sum=Sum+i」の実行直前の変数Sumの内容は「0」,変数iの内容は「1」であったことを改めて確認しておいてください。, 右辺の変数iは「1」のままで変わっていません。変数iはNext i の行が実行された時点で(ハイライトが解除された時点で)更新されるためです。, では、F8キーをもう1回押してみましょう。すると下図のように再度「Sum=Sum+i」の行がハイライトされました。, まだ、「Sum=Sum+i」の行は実行されていませんので、この時点での左辺と右辺の変数の内容を確認してみましょう。, 変数Sumは左辺,右辺ともに「1」,右辺の変数iは「3」となっています。変数iの内容が「1」から「3」に変わりました。これは、さきほど Next i の行が実行され、初期値の「1」に増減値である「2」が加算されたことで次に加算すべき奇数「3」になったという動きによるものです。, 上記の変数の状態が何を示しているかというと、このハイライトされた行をこれから実行すると右辺の「1+3」が計算され、左辺の変数Sumに「4」が代入される(変数Sumの内容が「1」から「4」に更新される)ことを表しています。, For文では、この後もこのような流れで変数Sumに奇数を表す変数iの値を順番に加算していきます(ループ変数iの内容は「1→3→5...→99」と変化していきます)。そして変数iが99を超える前までは、加算処理が続き、変数iが99+2、つまり101になった時点でFor文を終了して次のプログラムである、計算結果を表示する行に進みます。, ちょっとわかりずらいですか?1行ずつ数字の動きを追ってみてください。右辺は「直前までの奇数の和(Sum)」+「新たに加算する奇数(i)」の形で、その計算結果を左辺の「奇数の和(Sum)」に代入し、これを次回の計算時に「直前までの奇数の和(Sum)」として再度右辺で利用するという流れです。, この部分について難しく感じる方は、下記の変数の加算の基礎についてかかれたブログも合わせてご覧ください。, 今回、奇数の和の計算を実行するFor文について解説しましたが、偶数の和の計算を行う、もう1つのFor文も同じ動きとなります。, これ以降は、F8キーを何度も押していくのは大変のため、F5キーを押して、プログラムを最後まで実行しましょう。すると、イミディエイトウィンドウに下図のような結果が表示されます。, ここまではFor文による整数の和の計算の例について見てきました。少し難しかったでしょうか。For文による整数の和の計算は重要な動きですので、ぜひ理解してくださいね。, つづいては、For文の特徴を利用した九九の計算を行ってイミディエイトウィンドウに結果を表示してみたいと思います。先にプログラムからお見せしますね。, Sub TimesTable()

.

ń香 ɝ木崇高 ŭ供, ȿ従 Ãタン Js, Ãイン Âラフト Ãーシフト Âり方, Âロスバイク Âプロケット ĺ換, Áつき Âクリプト ŕ用, Âーチコンソール Âナリティクス ɀ携できない, Ãナソニック Âアコン Âラー ȡ示, Âンスタグラム Âイコン ȉ Ť更, Ãルニ Ãッグ Ãート, Ãナソニック Âアコン Ņタイマー Áかない, Áだもの Âさい ǵ本, ǟ川 Âバタ Ãット, Jal Ơ主優待券 Ȳ取 Ő古屋, ƕ学 Âンター ƺ点, Acrobat Reader Dc Ƥ索 Ɨ本語 Ȑちる, ȇ ƒり ȋ語 Âンスタ, Âタラ Ãスク Ş紙, Jquery Aタグ Click Ŋかない, dz質制限 ȱ肉 ɣべていい, ɛ子レンジ Á湯 Áずい, Ɲ京 ŏ着屋 Ãイキ,