• ベストアンサー

エクセルシート上で作成したツールの呼び出し

VBAで簡単なツールをユーザフォームを使用して 作成したのですが、このプログラムをエクセルを 起動させてあるコマンドボタンを押すと そのツールが立ち上がるようにしたいのですが、 その方法を教えて頂けないでしょうか? 例えばCTL+Wで立ち上がらしたいのですが。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

jones0901、こんにちは。 なかなか難しくて面倒な問題ですね(笑) VBAで簡単なツールを作れる方ですので要点だけを! ThisWorkbookのコード表示の中で Private Sub Workbook_Open() UserForm1.Show End Sub UserForm1にラベルコントロールをひとつ定義します。 UserForm1のコード表示の中で Private Sub Label1_Click() ActiveWorkbook.Save Application.Quit End Sub Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = 87 And Shift = 2 Then Label1.Caption = "こんにちは!" End If End Sub 以上を貼り付けます。 参考までに:KeyCode = 87 は Wキー、Shift = 2 はCtrlキーのことです。 ラベルコントロールをクリックすると終了します。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(1)VBAで下記の例を作りました。Module1に Sub test01() MsgBox "マクロの実行" End Sub (2)例えばワークシートSheet1にコマンドボタンを1つ貼りつける。デザインモードにして、コマンドボタン上でダブルクリックする。 (3)VBE画面に変わって Private Sub CommandButton1_Click() End Sub が出る。この2行の間に Private Sub CommandButton1_Click() test01 End Sub を挟む。Call test01でも良い。引数があればtest01(・・ ) (4)ワークシート画面に戻って、ツール-マクロ-マクロをクリック。マクロ名にtest01を選び、「オプション」 をクリック。 (5)「ショートカットキー」のところで   Ctrl+Shift+MのMのところを英字で指定。   (MはWでも何でも良い。)OKをクリック。 これで(A)コマンドボタンをマウスでクリックしても (B)キーボードからCtrl+Shift+Mをキーインしても どちらでもプログラムが実行されます。 VBAで記述するなら、 Sub Macro1() Application.MacroOptions Macro:="test01", _   Description:="", ShortcutKey:= _ "M" End Sub です。

関連するQ&A