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

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

目次:

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

ビデオ: 【Excel】VBA For ~Next構文を説明 2024
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を使用する方法 - 最も単純なダミー

エディタの選択

保育検索中に背景チェックを行う - ダミー

保育検索中に背景チェックを行う - ダミー

他の在宅育児提供者またはあなたのお子様をご家族のお子様に配慮することを検討している場合は、参照チェックとバックグラウンドチェックをお勧めします。家族の託児所運営の場合は、自宅にいる他の大人の警察にも尋ねてください。あなたは...

離婚や離婚後の父親へのダミー - ダミー

離婚や離婚後の父親へのダミー - ダミー

分離と離婚は、多くの父親が子供たちから離れていることです。分離は、あなたの子供や子供のための偉大なお父さんと役割モデルになり続けるための障壁にはならないはずです。非居住の父親と居間の父親の責任にはほとんど違いがありません。あなた...

エディタの選択

デジタル写真のフラッシュパワーを調整する - ダミー

デジタル写真のフラッシュパワーを調整する - ダミー

フラッシュを使用すると、デジタルカメラは自動的にフラッシュを設定しますそれは必要と思われるものに応じた力。しかし、多くのカメラでは、フラッシュ露出補正、またはフラッシュEVと呼ばれる機能によって、フラッシュ光の強さを調整できます。

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定を変更してデジタルカメラの光感度を調整する - ダミー

ISO設定の選択。カメラのイメージセンサの光感度を示します。 ISO番号が高いほど、カメラはより迅速に光に反応します。 ISO感度を高く設定すると光の感度は上がりますが、画像にノイズが加わることもあります。この図は、4枚の画像を示しています。

エディタの選択

WEPの弱点 - ダミー

WEPの弱点 - ダミー

セキュリティ研究者は悪意のあるユーザーが無線LAN(ワイヤレスローカルエリアネットワークWEP(Wired Equivalent Privacy)を使用しています。これらは、たとえば以下のようなものです。トラフィックを復号化するパッシブ攻撃:統計分析に基づいています。

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

Webアプリケーションの安全でないログインハックとそれらを防ぐ方法 - ダミー

アプリケーションで何かできるようになる前にログインする必要があります。意外なことに、これらはハッカーの大きな助けになることがあります。これらのログイン・メカニズムは、誤ったユーザーIDまたはパスワードを正常に処理しないことがよくあります。攻撃者が有効なユーザーIDとパスワードを収集するために使用することができる情報を漏洩させることがよくあります。 To ...

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

あなたのネットワーク上のOutlook Web Appを使用する - ダミー

自宅からオフィスネットワークに接続するほとんどの人本当にちょうど彼らの電子メールが必要です。オフィスネットワークにアクセスする唯一の理由が電子メールを受け取ることだけであれば、この簡単で簡単なツール、OWAとも呼ばれるOutlook Web Appを試してみてください。このMicrosoft Exchange Server機能は、あなたの会社の電子メールにアクセスすることができます...