| Menuへ | |||
| コマンドボタンを動的に作成・削除 | |||
| シートコード | |||
Option Explicit 'カーソルがあるセルにコマンドボタンを作成 Private Sub MyMakeCmdBtn() Dim lRow As Long lRow = ActiveCell.Row With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False) .Object.Caption = "ボタン" .Object.Font.Size = 9 .Object.BackColor = &H1FFA2 .Width = ActiveCell.Width * 2 .Height = ActiveCell.Height * 2 End With End Sub '作成、削除以外のコマンドボタンを削除 Private Sub MyDeleteCmdBtn() Dim tCtrl As Variant '全てのコントロール For Each tCtrl In ActiveSheet.Shapes 'コントロールの名前をチェック If tCtrl.Name <> "CommandButton1" And tCtrl.Name <> "CommandButton2" Then '作成、削除のコマンドボタンでなければ削除 ActiveSheet.Shapes(tCtrl.Name).Delete End If Next End Sub Private Sub CommandButton1_Click() 'カーソルがあるセルにコマンドボタンを作成 MyMakeCmdBtn End Sub Private Sub CommandButton2_Click() '作成、削除以外のコマンドボタンを削除 MyDeleteCmdBtn End Sub |
|||
| 実行結果 | |||
[作成画面]![]() |
|||
| Topへ | |||
|
|
|||