|
>あるボタンをクリックすると、
>ある条件のもと
の具体的な状況がわかりませんが、例えば InputBox で 20個以内の制限をつけて
ボタンの数を取得するとして、Sheet1 の B2 から下へセルの大きさに合わせた
フォームツールバーのボタンを配置する。というマクロは
Dim Cnt As Integer
Dim MyR As Range, C As Range
Dim Lp As Single, Tp As Single
Dim Wp As Single, Hp As Single
Const Pmt As String = _
"配置するボタンの数を20以内の数値で入力して下さい"
Do
Cnt = Application.InputBox(Pmt, Type:=1)
If Cnt = False Then Exit Sub
Loop While Cnt < 1 Or Cnt > 20
With Sheets("Sheet1")
If .Buttons.Count > 0 Then .Buttons.Delete
With .Range("B2")
Set MyR = .Resize(Cnt)
Lp = .Left: Wp = .Width: Hp = .Height
End With
End With
For Each C In MyR
Tp = C.Top
ActiveSheet.Buttons.Add Lp, Tp, Wp, Hp
Next
Set MyR = Nothing
というコードになります。
|
|