[VBA] 図形を連続的に拡大させたり縮小させるマクロ

 今回は 図形を連続的に拡大・縮小させるアニメーションマクロ を作ってみますよ~。

図形を連続的に拡大させたり縮小させるマクロ

 まあ何はともあれ、次のマクロをコピーしてお持ち帰りくださいな~。

 (C)KOBATO https://atelierkobato.com/vba-wait/

 '図形を連続的に拡大させたり縮小させるマクロ

 Sub ChangeScale()

 Dim x As Double, y As Double
 Dim t As Double, wd As Double, ht As Double
 Dim myrec As Shape

 x = 50  '左端からの位置
 y = 50  '上端からの位置
 wd = 50  '図形の横幅
 ht = 50  '図形の縦幅

 '正方形を表示します
 Set myrec = ActiveSheet.Shapes.AddShape(msoShapeRectangle, x, y, wd, ht)

 With myrec

  '図形の背景色を緑にします
  .Fill.ForeColor.RGB = vbGreen

  '図形の枠線を消します
  .Line.Visible = False

 End With

 '図形を拡大します
 For t = 1 To 90

  myrec.Width = myrec.Width + 1
  myrec.Height = myrec.Height + 1

  Application.Wait [Now() + "0:00:00.1"]

 Next t

 '図形を縮小します
 For t = 1 To 90

  myrec.Width = myrec.Width - 1
  myrec.Height = myrec.Height - 1

  Application.Wait [Now() + "0:00:00.1"]

 Next t

 End Sub

 このマクロを実行すると緑色の正方形が現れて、ゆっくり拡大したあとに、また縮小して元に戻りますよ~。

 Excel VBA 図形の拡大縮小
 

Width プロパティと Height プロパティ

 今回のポイントとなるコードは以下の部分です。

 For t = 1 To 90

  myrec.Width = myrec.Width + 1
  myrec.Height = myrec.Height + 1

  Application.Wait [Now() + "0:00:00.1"]

 Next t

 Width プロパティはオブジェクトの幅を、Height プロパティはオブジェクトの高さを設定するので、これを少しずつ増やして、ゆっくりじっくり図形を大きくしているのです。縮小するときは -1 にすればいいのです。皆さんも色々な図形を大きくしたり小さくしてくださいな~。それでは、また次回お会いしましょ~。

 ≫ VBA 辞典メニューに戻って他の記事も読んでくださいな~♪

Google広告
スポンサーリンク
スポンサードリンク
末尾大型広告
末尾大型広告

コメントをどうぞ

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください