コマンドボタンを動的に作成・削除
Homeに戻る >
ExcelコントロールTipsへ
シートのVBAコード
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
実行結果
[作成画面]
Homeに戻る >
ExcelコントロールTipsへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved