【VBA】思わずポチッと押したくなるボタンの作り方


こんにちは。
日曜日は、ためになるのかならないか分からない、そんなブログを書こうかなと思っています。
くだらない内容です。ご容赦ください。

今回は思わずポチッと押したくなるボタンの作り方です!

Excelマクロでは、挿入した好きな図形にマクロを登録できますが、より押したくなる、そしてボタンを押した感がでるボタンが欲しくて作りました。
お好きな処理と組み合わせて使ってみてください。

ボタンを作成して加工する

まず適当な楕円の図を挿入して、ずの名前をbtnStartとします。

以下のマクロで図の設定を施します。

Sub btnStartSet() 'ボタンの作成
    Dim btnSheet As Worksheet
    Set btnSheet = ActiveSheet
    btnSheet.Shapes("btnStart").Select
'形、サイズ、名前
    btnSheet.Shapes("btnStart").Height = 50.2
    btnSheet.Shapes("btnStart").Width = 66.3
'塗りつぶし
    btnSheet.Shapes("btnStart").Fill.ForeColor.RGB = RGB(255, 0, 0) '塗りつぶしの色
'枠線
    Selection.ShapeRange.Line.Visible = msoFalse
'3D
    btnSheet.Shapes("btnStart").ThreeD.RotationY = -35.1560166667 '図形のY軸周りの回転角度
    btnSheet.Shapes("btnStart").ThreeD.FieldOfView = 45 '3-D図形遠近感
    btnSheet.Shapes("btnStart").ThreeD.BevelTopType = msoBevelArtDeco '面取り設定
    btnSheet.Shapes("btnStart").ThreeD.BevelTopInset = 10
    btnSheet.Shapes("btnStart").ThreeD.BevelTopDepth = 6
End Sub

これです。

押したら何かが起こりそうなボタンです!
「お…押してみたい…」

ボタンを押したあとの加工

作ったボタンに、押した感が出るように以下のマクロを登録して実行します。

Sub btnStartClick() 'ボタンを押したあとの加工
    Dim btnSheet As Worksheet
    Set btnSheet = ActiveSheet

    btnSheet.Shapes("btnStart").Select

    btnSheet.Shapes("btnStart").ThreeD.BevelTopType = msoBevelSlope '面取り設定
    btnSheet.Shapes("btnStart").ThreeD.BevelTopInset = 5.5 '3D加工の幅
    btnSheet.Shapes("btnStart").ThreeD.BevelTopDepth = 6 '3D加工の高さ
End Sub

押したら

こうなります。
「ペコってなった!!」

押す前の状態にリセットする

以下のマクロをリセットボタンに登録してリセットさせます。

Sub btnStartEnd() 'ボタンをリセット加工
    Dim btnSheet As Worksheet
    Set btnSheet = ActiveSheet

    btnSheet.Shapes("btnStart").Select

    btnSheet.Shapes("btnStart").ThreeD.BevelTopType = msoBevelArtDeco '面取り設定
    btnSheet.Shapes("btnStart").ThreeD.BevelTopInset = 10 '3D加工の幅
    btnSheet.Shapes("btnStart").ThreeD.BevelTopDepth = 6 '3D加工の高さ
End Sub


↓リセットする

ちなみに

挿入>3Dモデル>"ボタン"で検索 にそれっぽいのもあるみたいです~
初めてみました!

おまけ


押すなよって言われると押したくなるよね!