VBAでの変数の使用と繰り返しについて2

スポンサーリンク

VBAでの繰り返しのコード

前回に引き続き変数と繰り返しを書きます。今回の内容は前回のFor~Next構文の復習とともう一つのDo until~Loop構文を紹介します。

前回作成したVBAコード

前回作成したコードは以下のようになります。
1行目から6行目までB列のセルが80以上ならA列を黄色に塗るというコードです。

Sub 繰り返し実行
Dim i’変数としてiを使う
For i = 1 to 6’iを1から6まで順に増やす
If Cells(i,2) >= 80 Then’(i,2)セルが80以上なら
Cells(i,1).Interior.ColorIndex = 6’(i,1)セルを黄色に塗る。
End If’Ifの作業を終了する。
Next i’繰り返す。
End Sub

For~Next構文のデメリット

色々なファイル、シートに対してプログラムを実行するVBAを作成する場合には、様々な状況を想定してコードを考える必要があります。

For~Next構文を使う際は何行目から何行目という範囲が決まっている場合は有効ですが、VBAを実行するシートやファイルによって行数が違う場合にはうまく動かない場合があります。For i = 1 to 10000などのように指定する範囲を広くし、できるだけたくさんの繰り返しを実行するようにしておくのも対策ですが、そうするとVBAの実行速度が遅くなります。

今回は色んな行の長さの元ファイルでも実行できるようにもう一つの繰り返し方法であるDo Until~Loop構文についてお伝えします。

Do Until~Loop構文

ある条件を満たすまでの間繰り返す処理を行うにはDo Until~Loop構文を用います。
(ある条件を満たす間繰り返すのはDo While~Loop構文を用います。私はあまり使用しないので、また機会があるときにお伝えします。)

前回の1行目から6行目までB列の数字によって色を分ける操作を1行目から開始して、A列に文字がなくなるまで続けるVBAのコードは以下のようになります。

Sub 繰り返し実行2
Dim i’①変数としてiを使う
i = 1’②iが1からスタートすることを記載
Do Until Cells(i,1).Value=””’③Cells(i,1)が空欄になるまで続ける
If Cells(i,2) >= 80 Then’(i,2)セルが80以上なら
Cells(i,1).Interior.ColorIndex = 6’④(i,1)セルを黄色に塗る。
End If ’⑤Ifの作業を終了する。
i = i +1’⑥iを1つずつ増やす
Loop’⑦繰り返す
End Sub

以上の流れになります。
⑥は”i = i + 1”としているので、1行ずつ順に処理を行いますが、”i = i + 2”とすると1行飛ばしで処理が進みます。
記載を忘れると同じところを繰り返して、止まらなくなるので注意が必要です。
無限ループになってしまった場合の実行しているVBAコードの中断方法はまた別の機会にお伝えします。

おすすめ書籍 amazonicon Amazon rakutenicon 楽天 Yahooicon Yahoo検索
amazoniconAmazon
rakutenicon楽天Kobo電子書籍ストア
続 Excel VBAのプログラミングのツボとコツがゼッタイにわかる本【電子書籍】[ 立山秀利 ]
価格:2,527
rakutenicon楽天ブックス
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本(続) 最初からそう教えてくれればいいのに! Excel [ 立山秀利 ]
価格:2,808
rakuteniconbookfan 2号店 楽天市場店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本/立山秀利【1000円以上送料無料】
価格:2,376
rakutenicon楽天ブックス
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに! Excel [ 立山秀利 ]
価格:2,376
rakuteniconブックオフオンライン楽天市場店
【中古】 Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに!Excel2007/2003対応 /立山秀利【著 【中古】afb
価格:1,320
rakuteniconHMV&BOOKS online 1号店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに!Excel2007 / 2003対応 / 立山秀利 【本】
価格:2,376
rakuteniconKSC
『中古』続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
価格:6,989
rakutenicon楽天Kobo電子書籍ストア
デバッグ力でスキルアップ! Excel VBAのプログラミングのツボとコツがゼッタイにわかる本【電子書籍】[ 立山秀利 ]
価格:2,236
rakutenicon楽天Kobo電子書籍ストア
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本【電子書籍】[ 立山秀利 ]
価格:2,138
rakuteniconコンプリートブックス
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
rakuteniconぐるぐる王国DS 楽天市場店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
rakuteniconネットショップ駿河屋 楽天市場店
【中古】単行本(実用) ≪コンピュータ≫ Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 / 立山秀利【中古】afb
価格:1,570
rakuteniconクロネコ書店
【中古】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本—最初からそう教えてくれればいいのに!Excel2007/2003対応【中古】
価格:3,330
rakuteniconぐるぐる王国 楽天市場店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
rakuteniconECJOY!プレミアム楽天市場店
秀和システム Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに! 立山秀利/著
価格:2,376
rakuteniconbookfan 1号店 楽天市場店
【店内全品5倍】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本/立山秀利【3000円以上送料無料】
価格:2,376
rakuteniconドラマ楽天市場店
【新品】【本】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 立山秀利/著
価格:2,376
rakutenicon楽天Kobo電子書籍ストア
続々 Excel VBAのプログラミングのツボとコツがゼッタイにわかる本【電子書籍】[ 立山秀利 ]
価格:2,430
rakuteniconKSC
『中古』ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
価格:6,468
rakuteniconKSC
『中古』続々ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本
価格:10,788
rakuteniconbookfan 2号店 楽天市場店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続/立山秀利【1000円以上送料無料】
価格:2,808
rakuteniconぐるぐる王国 楽天市場店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
rakuteniconVALUE BOOKS
【中古】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに! Excel 続 /秀和システム/立山秀利 (単行本)【年末 セール SALE 対象商品】
価格:758
rakuteniconドラマ楽天市場店
【新品】【本】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続 立山秀利/著
価格:2,808
rakuteniconECJOY!プレミアム楽天市場店
秀和システム Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続 最初からそう教えてくれればいいのに! 立山秀利/著
価格:2,808
rakuteniconブックオフオンライン楽天市場店
【中古】 続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに! /立山秀利【著】 【中古】afb
価格:1,264
rakuteniconbookfan 1号店 楽天市場店
【店内全品5倍】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続/立山秀利【3000円以上送料無料】
価格:2,808
rakuteniconVALUE BOOKS
【ポイント 10倍】【中古】Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに! Excel 続 /秀和システム/立山秀利 (単行本)【年末 セール SALE 対象商品】
価格:758
rakuteniconコンプリートブックス
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
rakuteniconぐるぐる王国DS 楽天市場店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
Yahooicon京都大垣書店Yahoo!店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続 / 立山 秀利 著
価格:2,808
Yahooiconbookfanプレミアム
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続 / 立山秀利
価格:2,808
Yahooiconbookfan Yahoo!店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続/立山秀利
価格:2,808
Yahooiconbookfanプレミアム
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 / 立山秀利
価格:2,376
Yahooiconbookfan Yahoo!店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本/立山秀利
価格:2,376
YahooiconHonya Club.com Yahoo!店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続/立山秀利
価格:2,808
Yahooiconぐるぐる王国 ヤフー店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
YahooiconHMV&BOOKS online Yahoo!店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 最初からそう教えてくれればいいのに!Excel2007 /
価格:2,376
Yahooiconぐるぐる王国 スタークラブ
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
Yahooiconぐるぐる王国2号館 ヤフー店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
Yahooiconぐるぐる王国DS ヤフー店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続
価格:2,808
Yahooiconぐるぐる王国 ヤフー店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
Yahooiconぐるぐる王国 スタークラブ
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
Yahooiconぐるぐる王国2号館 ヤフー店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
Yahooiconぐるぐる王国DS ヤフー店
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本
価格:2,376
Yahooiconドラマ書房Yahoo!店
新品本/Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続 立山秀利/著
価格:2,808
YahooiconドラマYahoo!店
新品本/Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 続 立山秀利/著
価格:2,808
YahooiconWINDY BOOKS on line
Excel VBAのプログラミングのツボとコツがゼッタイにわかる本  続
価格:2,808
Yahooiconドラマ書房Yahoo!店
新品本/Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 立山秀利/著
価格:2,376
YahooiconドラマYahoo!店
新品本/Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 立山秀利/著
価格:2,376

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする