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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- その他(プログラミング・Web制作) PythonのTkinterイベントについて 2 2022/12/10 23:00
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- 英語 Underline the correct to complete about the text S 2 2022/05/16 22:25
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/25 11:42
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
オートシェイプ図形をクリックでコメントを表示したい
Excel(エクセル)
-
-
4
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
5
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
6
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
7
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
8
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
9
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
10
VBA 図形のテキスト取得
Excel(エクセル)
-
11
エクセル ユーザーフォームにオートシェープ(図形)を貼り付けるこは可能なのでしょうか?
Excel(エクセル)
-
12
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
13
UserForm
Visual Basic(VBA)
-
14
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
15
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
16
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
17
マクロを実行すると画像がズレてしまいます
その他(Microsoft Office)
-
18
セルにカーソルを合わせると文字を表示させるVBA
Excel(エクセル)
-
19
エクセルの画像にツールチップを表示させたい
Visual Basic(VBA)
-
20
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで数字を入れたら対応する...
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
エクセルで特定の行だけ行削除...
-
【エクセル】「実行時エラー’10...
-
【エクセル】フリーワード検索...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
エクセル:セル内の文字列の最...
-
「マクロが含まれているファイ...
-
Excelでランダムで選んだ行を別...
-
EXCELのダイアログシートって、...
-
Excelにて、同じ画像を複数のセ...
-
エクセルマクロでファイル名や...
-
エクセルで○をつけるマクロ設定
-
長い時間かかるマクロが実行中...
-
エクセル シート内の一番下のセ...
-
エクセルのマクロの実行が途中...
-
エクセルのマクロを教えてくだ...
-
【マクロ】A列の納期月【1、2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
Excelで数字を入れたら対応する...
-
エクセルファイルを開いた回数...
-
エクセルで複数のシートのクリ...
-
エクセルで特定の行だけ行削除...
-
自分の専門分野の仕事。初見で...
-
Excelのシート上のShapeにイベ...
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
エクセル シート内の一番下のセ...
-
【エクセル】「実行時エラー’10...
-
Excelでセル内の文字をファイル...
-
エクセル:セル内の文字列の最...
-
セルの一部分だけを太字にする方法
-
EXCELのダイアログシートって、...
-
フォルダ内にある全ファイルの...
-
シートではなくBOOK間で重複し...
-
エクセルのワークシート(テン...
-
エクセル上にシェイプで二重丸...
-
前月分を次月シートに繰越でき...
おすすめ情報