• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA超初心者です。繰り返しのVBAの使い方)

VBA超初心者のための繰り返しのVBAの使い方

このQ&Aのポイント
  • VBA超初心者のため、繰り返し処理を使ったVBAの記述方法について教えていただけませんか。
  • 現在、シート内のセルを順番に確認し、空白のセルに達するまで処理を繰り返したいです。
  • 具体的な方法やサンプルコードなど、教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • eden3616
  • ベストアンサー率65% (267/405)
回答No.1

ちょっとくどいですが、コメントも入れているので参考にしてください。 Sub sample() '繰り返し列番号を代入する変数iをlong型で用意 Dim i As Long '初期のiの値を2に設定(B列→2列目) i = 2 'セル2行目i列の値が空白でなければLoopまでを実行 Do While Cells(2, i).Text <> ""     'メッセージボックスで2行目、4行目、7行目のi列の文字列を繋いで表示     MsgBox Cells(2, i).Text & Cells(4, i).Text & Cells(7, i).Text     'iの変数に1を加えてiの変数へ代入する→次の列の列番号をi列に代入する     i = i + 1 'Do~の判定式まで戻って繰り返し Loop 'Doの判定式が偽の場合にLoopの次から開始されるので、ここから開始 End Sub ~~~~~~~~~~~~~~~~~~~~~ 繰り返し処理には次のようなものがあります。 ・For ~ Nextによる繰り返し ・Do ~ Loopによる繰り返し 「ある変数がある数字まで値を増分させながら」「全体の中から個々に対して」などは前者を使い、「ある条件になるまで」「ある条件の間だけ」繰り返す場合は後者を使います。 今回はDo ~ Loopによる繰り返しを用いています。 今回のコードでは「Do While Cells(2, i).Text <> ""」により セル2行目i列≪Cells(2,i)≫の表示≪Text≫が空白以外≪<> ""≫の間だけ≪While≫、Loopまでの間の処理を繰り返し行い、空白になればLoopの行から下が実行されます。 ※Do~Loopは繰り返しが終わる条件が適切に記述されていないと コードによっては無限ループに陥るため繰り返す条件、終了する条件の記述に注意してください。 慣れるまではステップ実行を行い確実に処理が行われているか確認することをおすすめします。 詳しくは以下のヘルプを参考にしてください。  Do...Loop ステートメント  Do...Loop ステートメントの使い方  For...Next ステートメント  For...Next ステートメントの使い方

関連するQ&A

専門家に質問してみよう