エクセルマクロVBA

■ 条件に一致する間の繰り返し処理(Do While… Loop ステートメント)

投稿日:

Do Until… Loop文ではある条件になるまで繰り返し処理が行われますが、

Do While… Loop文ではある条件を満たす間、繰り返し処理が行われます。

 

[書式]

Do While 条件式     

    処理

Loop

 

 

[] 

Dim カウンタ As Integer

 

カウンタ = 3

 

Do While Cells(カウンタ, 1).Value <> “”

 

Range(Cells(カウンタ, 1), Cells(カウンタ, 2)).Interior.ColorIndex = 35

 


カウンタ = カウンタ + 1

Loop

 

[サンプルC107]

Sub C107()

Worksheets(“C107”).Select

Dim カウンタ As Integer

カウンタ = 3

Do While Cells(カウンタ, 1).Value <> “”    

Range(Cells(カウンタ, 1), Cells(カウンタ, 2)).Interior.ColorIndex = 35 ②


カウンタ = カウンタ + 1

Loop

End Sub

 

ワークシートの3行目、1,2列目のセルから順番に下方向へ塗りつぶしを

行い、文字列が入力されていないセルに到達すると処理が終了します。

 

Do While Cells(カウンタ, 1).Value <> “”    

Do While」文の条件では、「Cells(カウンタ, 1).Value <> “”」として

「セルの中身が空白でない間処理を繰り返す」という条件を指定して

セルの値が空白の行まで繰り返し処理が行われます。

 

Range(Cells(カウンタ, 1), Cells(カウンタ, 2)).Interior.ColorIndex = 35 ②

はじめに変数「カウンタ」に3を代入しているので、

Range(Cells(3, 1), Cells(3, 2)).Interior.ColorIndex = 35 となり、セルに塗りつぶしを行った後、カウンタの値を1増加させ、

Range(Cells(4, 1), Cells(4, 2)).Interior.ColorIndex = 35 で次の行に色を塗ります。

 





動画で楽にパソコンが身につく方法はこちら>>

-エクセルマクロVBA

Copyright© エクセルVBA使い方入門 , 2020 All Rights Reserved Powered by STINGER.