
No.2ベストアンサー
- 回答日時:
こんばんは。
私は、うまく言葉では説明できないので、以下のようなサンプルを作ってみました。
".OnAction" で設定させます。ただ、これが、Sheet1 などのローカルモジュールですと、
マクロ名は、それぞれのシートを指定しないといけません。
'標準モジュール
Sub TestShape()
Dim x1 As Double, y1 As Double
Dim x2 As Double, y2 As Double
Dim dWidth As Double, dHeight As Double
'アクティブセルから、四角形の設定
With ActiveCell
x1 = .Left
y1 = .Top
End With
With ActiveCell.Offset(5, 3)
x2 = .Left
y2 = .Top
End With
dWidth = x2 - x1
dHeight = y2 - y1
With ActiveSheet.Shapes.AddShape(msoShapeRectangle, x1, y1, dWidth, dHeight)
.OnAction = "SubTest1"
End With
End Sub
'--------------------------------
Sub SubTest1()
MsgBox "SubTest1マクロが実行されました", 64
End Sub
ありがとうございます。
OnActionですか。
メニューをつくるときと同じですね。
非常にたすかりました。
また、よろしくお願いします。
No.3
- 回答日時:
表示ーツールバーー図形描画
オートシェイプの例えば四角をクリックして、シートに貼り付ける。
四角部分で右クリックーマクロの登録ー新規作成(か編集)で
Sub 四角形1_Click()
End Sub
が現れます。
直線などでも同じです。
とりあえずClickイベントだけ認められているようです。
それ以上のイベントを作るのは、VBAを越えたウインドウプログラムとAPIとかの熟練スキルがいると思います。
私もわからないが雰囲気だけ下記で
http://www.wisdomsoft.jp/dev/api/windows/032
No.1
- 回答日時:
こんばんは。
せいぜい、右クリックして、マクロの登録で出来る範囲ぐらいだと思います。
言い換えると、Click イベントです。
それ以上のことは、オートシェイプ自体では、一応、無理だと考えたほうがよいようです。
後は、コントロールツール(Active X コントロール)から、Form で使う Image とかをシートに貼り付けるしかないと思います。
ありがとうございます。
Clickが取れるとわかっただけでもたすかります。
できればオートシェイプでやりたいですね。
ついでになのですが、Shapeは実行時にVBAで配置し
ていますがこの実行時にそのClickイベントも同時
に書き込むことは可能なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
-
4
オートシェイプ図形をクリックでコメントを表示したい
Excel(エクセル)
-
5
Excel VBAでマウスの左クリックのイベントを検知するには
Visual Basic(VBA)
-
6
エクセルの画像にツールチップを表示させたい
Visual Basic(VBA)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
9
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
12
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
13
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
14
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
15
VBA 図形のテキスト取得
Excel(エクセル)
-
16
VBA 同じ名前のオブジェクトを選択したいのですが
Visual Basic(VBA)
-
17
別ブックからユーザーフォームを実行したい~!!
Visual Basic(VBA)
-
18
エクセルVBAで画面の大きさを取得する方法!
Excel(エクセル)
-
19
エクセルVBAでセル番地を指定してオブジェクト名取得
Excel(エクセル)
-
20
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
シートではなくBOOK間で重複し...
-
エクセルで複数のシートのクリ...
-
セルの一部分だけを太字にする方法
-
エクセル:セル内の文字列の最...
-
Excelで数字を入れたら対応する...
-
フォルダ内にある全ファイルの...
-
Excelにて、同じ画像を複数のセ...
-
「シートがアクティブになった...
-
エクセルで特定の行だけ行削除...
-
VBA初心者です。 仕事の残業を...
-
EXCELのダイアログシートって、...
-
前月分を次月シートに繰越でき...
-
Excel UserForm の表示位置
-
「段」と「行」の違いがよくわ...
-
マクロの「SaveAs」でエラーが...
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
土日の列幅の自動変更を教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
エクセルで複数のシートのクリ...
-
エクセルで特定の行だけ行削除...
-
Excelで数字を入れたら対応する...
-
EXCELのダイアログシートって、...
-
セルの一部分だけを太字にする方法
-
長い時間かかるマクロが実行中...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
マクロ1があります。 A1のセル...
-
【エクセル】「実行時エラー’10...
-
エクセル シート内の一番下のセ...
-
シートではなくBOOK間で重複し...
-
「マクロが含まれているファイ...
-
Excelにて、同じ画像を複数のセ...
-
前月分を次月シートに繰越でき...
-
エクセルのワークシート(テン...
-
エクセル:セル内の文字列の最...
-
Excelでセル内の文字をファイル...
おすすめ情報