Excel VBA 基礎講座 第14単元
2024年11月5日ExcelVBA第14単元では、Do While文の利用方法を解説していきます。
条件の処理判定についての説明や、応用によりアクティブシートに描いた図形の座標を動かす解説もありますので、順番に見ていきましょう。
第14単元 1.Do While文の利用
Do While文の利用
●ソース
Private Sub CommandButton1_Click( )
Range(“a1”).Select
y=1
Do While y<5 //DoからLoopまでの指示を条件(yが5未満の場合)に当てはまる間繰り返し実行する
ActiveCell.Value=”test” //選択されたセルに”test”を入れる(表記する)
ActiveCell.Offset(1,0).Select //最後の入力したセルから一つ下のセルを選択
y=y+1 //繰り返すたびにyに1を足していく
Loop
End Sub
第14単元 2.Do While文の利用2
Do While文の利用2
●ソース
Private Sub CommandButton1_Click( )
Range(“a1”).Select
y=6
Do
ActiveCell.Value=y //選択されたセルにyの値を入れる(表記する)
ActiveCell.Offset(1,0).Select
y=y+1
Loop While y<5 //Whileの条件をDoの後ろではなくLoopの後ろに記述すると、1度指示を実行した後に条件の判定処理が行われるため、必ず1回は指示を実行するようになる。
End Sub
第14単元 3.図形描画とセルの塗りつぶし設定
図形描画とセルの塗りつぶし設定
●ソース
Private Sub CommandButton1_Click( )
Range(“a1:d6”).Interior.ColorIndex=34 //セルA1からセルD6までの背景色を、カラーインデックス番号34で塗りつぶす
End Sub
第14単元 4.図形の座標を操作する
図形の座標を操作する
●ソース(※3.図形描画とセルの塗りつぶし設定の続き)
Private Sub CommandButton1_Click( )
Range(“a1:d6”).Interior.ColorIndex=34
Shapes(“ball”).Left=columns(“a”).left //アクティブシートに描いた図形”ball”の横座標をA列の座標に配置する
Shapes(“ball”).Top=Rovs(3).Top //アクティブシートに描いた図形”ball”の縦座標を3行目の座標に配置する
End Sub
第14単元 5.Do While Loopの応用
Do While Loopの応用
●ソース1(※4.図形の座標を操作するの続き)
Private Sub CommandButton1_Click( )
Range(“a1:d6”).Interior.ColorIndex=34
Shapes(“ball”).Left=columns(“a”).left
Shapes(“ball”).Top=Rovs(3).Top
ballmove //マクロ名ballmoveを実行する※正確にはCall ballmoveだが、Callは省略可能
End Sub
●ソース2
Sub ballmove( ) //マクロ名ballmoveの実行指示
Do While Shapes(“ball”).Left<300 //図形”ball”の横座標が300pixel未満の場合、以下の指示を繰り返す
Shapes(“ball”).Left=Shapes(“ball”).Left+3 //図形”ball”の横座標に3pixelプラスした座標に配置する
kyukei(0.1)
Loop
End Sub
●ソース
Sub kyukei(n) //マクロ名kyukeiを実行※(n)には(0.1)が入る
t=Timer+n //現在時間の0.1秒先が変数tに入る
Do While Timer<t //現在時間が0.1秒先より小さいとき実行を繰り返す
DoEvents //ワークシートのKeyイベントやMouseイベント、オブジェクト(図形など)イベント、時刻イベントなどのイベントを行う場合に記述する命令文。イベントを行う場合には必ず記述する。ただし正確には他のプロセスに制御を渡しているという意味。
Loop
End Sub