- 締切済み
エクセル マクロについて
自動マクロで作成したマクロのモジュールを コマンドボタンのコードに貼り付けたのですが 実行できません。 自動マクロからでは実行できるのですが。。。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 コマンドボタンは、どのようにして作られたものかわかりませんが、通常、コントロールツールのCommandButton の場合は、編集可能な状態(青い三角定規ボタンをオン)にしておいて、ダブルクリックすると、イベント・コード(Clickなどがついている)がブックと結び付けられます。 そのような状態から、コードを貼り付けないと、そのマクロは眠った状態のままになっています。 エディタ画面の白い画面の直近の横長の細い2つの窓に オブジェクト名 プロシージャ名 (General) CommandButton1_Click となっていたら、眠っています。その場合は、オブジェクト名のドロップボタンで、CommandButton1 を探して指定します。 できあがったら、編集可能(青い三角定規ボタンをオフ-Visual Basic Editorのツールバーまたは、コントロールツールバーの中)にして編集不可にします。
- papayuka
- ベストアンサー率45% (1388/3066)
シートに置いた CommandButton って事なら、マクロ記録で書かれたコードの中身だけをクリックイベントに書くか、クリックイベントからマクロ記録を呼び出すかです。 例えば、マクロ記録で下記のように記述された場合は、 Sub Macro1() Range("A1").Select ActiveCell.FormulaR1C1 = "a" Range("A2").Select End Sub 1)CommandButton のクリックイベントに中身だけを転記する。 Private Sub CommandButton1_Click() Range("A1").Select ActiveCell.FormulaR1C1 = "a" Range("A2").Select End Sub 2)CommandButton のクリックイベントから呼ぶ Private Sub CommandButton1_Click() Macro1 End Sub の何れかでOKです。