こんにちは。
日曜日は、ためになるのかならないか分からない、そんなブログを書こうかなと思っています。
くだらない内容です。ご容赦ください。
今回は__思わずポチッと押したくなるボタンの作り方__です!
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