先日のWindowsアップデートで、ActiveXコントロールが使えなくなったらしい。
【参照元】
Excelのコマンドボタンが、突然動かなくなりました。Windows Update で? - Excel 職人のつぶやき
私の場合はFixItで治ったが、既存のボタンは挿入し直さないといけないとかいう情報も。
ああ面倒くさい。
…ので、マクロでやってみたのが以下サンプル。
これはActiveXではない新しいボタンを使用している。
Sub AddButtons() Const WSize As Integer = 80 Const HSize As Integer = 20 'スペース区切りで配列に。 Dim Macros() As String Macros = Split("Macro1 Macro2 Macro3 Macro4", " ") For i = 0 To UBound(Macros) Call CreateButton(Macros(i), i * WSize, 0, WSize, HSize) Next End Sub Private Sub CreateButton(ButtonName, x, y, w, h) With ActiveSheet.buttons.Add(x, y, w, h) .Name = ButtonName 'オブジェクト名も .Caption = ButtonName 'ボタンのテキストも、 .OnAction = ButtonName 'マクロ名も、面倒なので全部同じにしてしまう。 End With End Sub Sub Macro1() MsgBox "test1" End Sub Sub Macro2() MsgBox "test2" End Sub Sub Macro3() MsgBox "test3" End Sub Sub Macro4() MsgBox "test4" End Sub
いいヒントを頂きました。感謝。