シェイプでエクセルをもっと楽しく!
エクセルを使う上で、業務効率化のためにマクロを活用することは一般的です。マクロを実行するボタンをより魅力的にする方法として、フォームコントロールではなくシェイプを使う手法があります。
「エクセルのマクロ実行ボタンをもっと見栄えよくしたいと思ったことはありませんか?」
本記事では、VBAを使って簡単にシェイプを利用したエクセルマクロ実行ボタンを作成する方法を紹介します。
まずは、完成形のボタンの動作を以下のGIFアニメーションでご覧ください。
ボタンを押している動きは、影の有り無しと位置を移動させて戻すという動きで表しています。
シェイプを使うことで、見た目を自由にデザインでき、ユーザーの操作性も向上します。
さらに、フォームコントロールよりも直感的に配置やスタイルの変更が可能です。
また、楽しく使えるインターフェイスは、業務のモチベーション向上に繋がります。
いくつかの形に変更可能で、フォントや色も選択できるようにしてみました。
組み込むときはボタンを押したときの動きのモジュールも入れておかないといけないため、
そこまで必要でない時は動きなしの方がコードが分かりやすくなるかと思います。
Sub ボタン押す()
'ボタンの浮き具合(影)の設定値
'---------------------------------
Dim 透明度 As Double: 透明度 = 0.2
Dim ぼかし As Double: ぼかし = 2
'---------------------------------
'クリックしたシェイプを取得
Dim shp As Shape
Set shp = ActiveSheet.Shapes(Application.Caller)
'影を消してボタンを右下に移動
Dim 影値 As Double
With shp
影値 = .Height / 15 'ボタンの大きさに応じて影オフセット値を設定
.Shadow.Visible = False
.Left = .Left + 影値
.Top = .Top + 影値
End With
Application.Wait [Now()] + 50 / 86400000
DoEvents
Application.Wait [Now()] + 50 / 86400000
DoEvents
'影を戻して位置を戻す
With shp
.Left = .Left - 影値
.Top = .Top - 影値
With .Shadow
.Visible = True
.Transparency = 透明度 '透明度
.OffsetX = 影値 'オフセット量X
.OffsetY = 影値 'オフセット量Y
.Blur = ぼかし 'ぼかし
End With
End With
End Sub
スポンサーリンク