PcSchool.Club

パソコンを分かりやすく解説することを目指す無料のオンラインパソコン教室

岐阜のパソコン教室「パソコンスクール・テルン」

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

関連サイト

パソコン教室

パソコンスクール・テルン岐阜・穂積・大垣教室 楽しく学ぶ・通うパソコン教室あもる

パソコン修理・販売・買取・サポート

パソコンの修理・販売・買取・サポート