ソーシャルメディア Excel2016 VBAのFor-Next Loopsを使用する方法 - 最も単純なダミー

Excel2016 VBAのFor-Next Loopsを使用する方法 - 最も単純なダミー

目次:

ビデオ: 【Excel】VBA For ~Next構文を説明 2025

ビデオ: 【Excel】VBA For ~Next構文を説明 2025
Anonim

Excel VBAプログラミングで最も単純なループのタイプは、For-Nextループです。ルーピングはカウンタ変数によって制御されます。カウンタ変数はある値から始まり、別の値で停止します。 ForステートメントとNextステートメントの間のステートメントは、ループ内で繰り返されるステートメントです。

A For-Nextの例

次の例ではFor-Nextループを使用して、最初の1,000個の正の数を合計します。 Total変数はゼロとして始まります。その後、ループが発生します。変数Cntはループカウンタです。それは1から始まり、ループのたびに1ずつインクリメントされます。ループはCntが1,000のときに終了します。

<! - 1 - >

この例では、ループ内に1つの文しかありません。このステートメントは、Cntの値をTotal変数に追加します。ループが終了すると、MsgBoxは数値の合計を表示します。

Sub AddNumbers()Double Dim Cnt As Long合計= 0 Cnt = 1の場合1000 Total =合計+ Cnt次Cnt MsgBox合計End Sub

ループカウンタは通常の変数なので、 ForとNextステートメント間のコードブロック内の値を変更するコード。しかし、これは非常に悪い999の習慣です。 <! - 2 - > ステップ -

を使用した次の例ステップ値を使用して、For-Nextループ内のいくつかのカウンタ値をスキップできます。ここでは、1と1の間の奇数のみを合計するように書き直された前の例があります:

Sub AddOddNumbers()Double Dim Cnt As Long合計= 0 Cnt = 1の場合1000 Step 2 Total = Total + Cnt次のCnt MsgBoxの合計End Sub

今回は、Cntは1から始まり、3,5,7などの値をとります。ステップ値は、カウンターのインクリメント方法を決定します。 Cntの最高値が999になるため、上部ループ値(1000)は実際には使用されないことに注意してください。

<! - 3 - >

ステップ値3を使用する別の例を次に示します。このプロシージャはアクティブシートで動作し、1行目から100行目までの3行おきに薄い灰色のシェーディングを適用します。

Sub ShadeEveryThirdRow )Dim i i = 1〜100までステップ3行(i)。インテリア。 Color = RGB(200,200,200)Next i End Sub

このマクロを実行した結果を確認します。

ループを使用して背景シェーディングを行に適用します。

For For Exit文を含むFor-Nextの例

For-Nextループには、ループ内に1つ以上のExit For文を含めることもできます。 VBAがこのステートメントを検出すると、ループは直ちに終了します。

次の例は、Exit Forステートメントを示しています。このルーチンは、ワークシート式で使用するための関数プロシージャです。関数は1つの引数(Strという名前の変数)を受け取り、その文字を最初の数字の左側に返します。たとえば、引数が "KBR98Z"の場合、関数は "KBR"を返します。 "

関数TextPart(Str)IsNumeric(Mid(Str、i、1))の場合は、i = 1の場合はi = 1、TextPart = TextPartの場合はTextPart = i、1)End if Next i End Function

For-Nextループは1で始まり、文字列内の文字数を表す数字で終了します。このコードでは、VBAのMid関数を使用してループ内の1文字を抽出します。数字の文字が見つかると、Exit Forステートメントが実行され、ループは途中で終了します。

文字が数値でない場合は、戻り値(関数の名前と同じ)に追加されます。ループがすべての文字を調べる唯一の時間は、引数として渡された文字列に数字が含まれていない場合です。

ネストされたFor-Nextの例

ループ内に任意の数のステートメントを配置し、For-Nextループ内のFor-Nextループをネストすることができます。

次の例では、ネストされたFor-Nextループを使用して、12行5列の範囲のセルに乱数を挿入します。ルーチンは、

外部ループ

(Colカウンタを持つループ)の反復ごとに 内部ループ (行カウンタを持つループ)を1回実行します。つまり、ルーチンはCells(Row、Col)= Rndステートメントを60回実行します。これらの細胞は、ネストされたFor-Nextループを用いて充填された。 Sub FillRange()Dim Colを長いDim行としてCol = 1から5までRow = 1から12までCell(Row、Col)= Rnd次の行Next Col End Sub 次の例では、このルーチンは、すべてのループの途中でステートメントを実行します(代入ステートメント)。1000回(10 * 10 * 10)、毎回異なる組み合わせでステートメントを実行します(10、10、10)Dim My As Long Dim j j Long Dim k as Long i = 1〜10の場合j = 1〜10の場合k = 1〜10 MyArray(i、j、k)= 100次のk次のj次のi 'その他のステートメントはここにありますEnd Sub

ステップ値でネストされたFor-Nextループを使用する最後の例です。この手順では、交互のセルの背景色を変更してチェッカーボードを作成します。
ループを使用してチェッカーボードパターンを作成する。

行カウンタは1から8までループします。If-Then構文は、使用するネストされたFor-Next構造を決定します。奇数行の場合、Colカウンタは2で始まります。偶数行の場合、Colカウンタは1で始まります。両方のループでステップ値2を使用するため、代替セルが影響を受けます。 2つの追加のステートメントは、セルを正方形にします(実際のチェッカーボードのように)。

Sub MakeCheckerboard()Dim Rを長く、Cを長くするR = 1〜8 WorksheetFunctionの場合。 IsOdd(R)Then C = 2〜8 Step 2セル(R、C)。インテリア。色= 255次へC = 1〜8ステップ2セル(R、C)。インテリア。 Color = 255 Next C次の行が終了するR行( "1:8")。RowHeight = 35列( "A:H")。 ColumnWidth = 6. 5 End Sub
Excel2016 VBAのFor-Next Loopsを使用する方法 - 最も単純なダミー

エディタの選択

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

Objective-Cでは、作成していないクラスであっても、iOSアプリケーションの既存のクラスに独自のメソッドを追加できます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション...

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーションの開発では、Objective-Cを使用すると、自分が作成していないクラスであっても、既存のクラスに独自のメソッドを追加することができます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション(たとえば、...

In App Purchase機能がiPadアプリで動作する仕組み

In App Purchase機能がiPadアプリで動作する仕組み

Apple App App Purchase機能を提供します。これにより、アプリユーザーはアプリ内から仮想アイテムを直接購入することができます。複数のレベルや環境、または仮想プロパティを持つゲームアプリケーションを開発する場合は、アプリケーションにIn App Purchase機能を追加して、レベル、環境、またはプロパティをさらに販売することを検討してください。 App Purchaseで...

エディタの選択

効果的なホームビジネスWebサイトを作成する方法 - ダミー

効果的なホームビジネスWebサイトを作成する方法 - ダミー

素晴らしいかもしれませんが、製品やサービスをさらに販売するのに役立たない場合は、時間とお金の無駄です。自宅のビジネスにとって本物の資産であるWebサイトを構築するための、実証済みの方法をいくつか試してみましょう。難しいことではありません...

マスターCSSファイルを作成する方法 - ダミー

マスターCSSファイルを作成する方法 - ダミー

多くのデザイナーがマスターHTMLコードのCSSファイルを作成し、個々のサイトのニーズに合わせて、最初からウェブサイトを構築するプロセスをスピードアップします。あなたがより多くのウェブサイトを構築するにつれて、いくつかのスタイルは標準的なデザインプラクティスの標準的な部分になります。 ...

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

Bing検索結果と並んでクリック単価(PPC)広告はMSN adCenterを通じて提供されます。 adCenterを使用して、Webマーケティングのニーズに合わせてアカウントとキャンペーンを作成できます。 Microsoftは、Bing Travel、adCenter Desktopなどのプログラムを追加することで、PPCサービスのインターフェース、ツール、検索品質、およびボリュームを向上させるために歩み続けています。...

エディタの選択

地中海ダイエットレシピ:フルーツサラダ - ダミー

地中海ダイエットレシピ:フルーツサラダ - ダミー

果実は地中海で豊富に生育し、地中海沿岸に沿って、アメリカ人より一般的に果実を多く食べるため、地中海の高レベルの疾病予防に貢献しています。あなたの次の食事やパーティーのために健康的なサイドディッシュのフルーツサラダを作るには、いくつかの方法があります。果物は地中海で豊富に生育し、地中海沿岸に住む人々は一般にアメリカ人よりも多くの果実を食べるため、地中海の高レベルの疾病予防に寄与します。

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

ジャイロとピタサンドイッチは一般的なカジュアルな食品です地中海でピザや他の地中海のサンドイッチと同じように、今日はピタサンドイッチとジャイロのさまざまなバージョンが存在します。ピタスは蒸気で作られた中央のポーチ付きの丸いパンです。