
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も見ています
-
先着1,000名様に1,000円分もらえる!
教えて!gooから感謝をこめて電子書籍1,000円分プレゼント
-
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
4
オートシェイプ図形をクリックでコメントを表示したい
Excel(エクセル)
-
5
マウスで選択した図形のみVBAで移動したい。
Visual Basic(VBA)
-
6
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
7
VBAマクロで、図形等のオブジェクトを選択(特定)する方法ってありますか
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
10
エクセルの画像にツールチップを表示させたい
Visual Basic(VBA)
-
11
VBA 図形グループ化後オブジェクト名取得
PowerPoint(パワーポイント)
-
12
Excel VBAでマウスの左クリックのイベントを検知するには
Visual Basic(VBA)
-
13
オートシェイプをクリックしてマクロを実行するには?
Excel(エクセル)
-
14
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
15
EXCEL 一部のオブジェクトだけを固定したい
Excel(エクセル)
-
16
Excel vbaでキーの操作の入力
Excel(エクセル)
-
17
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
18
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
-
19
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
20
Excel VBA インデックスの境界について
Excel(エクセル)
関連するQ&A
- 1 Excelシートでセル移動の設定をシートごとに設定できないでしょうか
- 2 EXCELで複数シート作成後、全シート書式設定の同一設定は可能か
- 3 Excel2000マクロ_全てのシートに対して埋込グラフのタイトルをシート名にする
- 4 Excel VBA シートのコピー時に、シート上のコンボボックスもコピーしたい。
- 5 Excelシート上でボタン1つで交互に保護と解除を設定
- 6 Excelで複数シート同時に印刷範囲の設定はできないのでしょうか?
- 7 VBAのロジックでEXCEL上にShape図形があるかないかをチェック
- 8 EXCELで複数のシートを同時に印刷範囲の設定する方法【EXCEL2000】
- 9 Excelについて質問です シート1←シート2ぶつける 重複したファイルをシート1から抽出 シート1
- 10 Excelシート上で写真を貼り付けプレビュー・印刷するとシート上通りの大きさにならない。
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
エクセルで複数のシートのクリ...
-
5
エクセルファイルを開いた回数...
-
6
エクセルで検索バーのような表示
-
7
エクセルで特定の行だけ行削除...
-
8
エクセル シート内の一番下のセ...
-
9
エクセルで○をつけるマクロ設定
-
10
エクセルVBAの別sheetの空白行...
-
11
Excelの操作の履歴を残す方法
-
12
前月分を次月シートに繰越でき...
-
13
【エクセル】「実行時エラー’10...
-
14
長い時間かかるマクロが実行中...
-
15
【エクセル】フリーワード検索...
-
16
EXCELのダイアログシートって、...
-
17
excel定数の違いについて。xlAu...
-
18
【エクセルVBAについて】セ...
-
19
excelで画像のハイパーリンクを...
-
20
エクセルのマクロを教えてくだ...
おすすめ情報