
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(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
8
エクセルの画像にツールチップを表示させたい
Visual Basic(VBA)
-
9
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
10
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
11
Excel VBAでマウスの左クリックのイベントを検知するには
Visual Basic(VBA)
-
12
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
13
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
14
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
15
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
16
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
17
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
18
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
19
特定の名前のオートシェイプの有無を知りたい(エクセルVBA)
Excel(エクセル)
-
20
エクセルVBAで画面の大きさを取得する方法!
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
長い時間かかるマクロが実行中...
-
エクセル シート内の一番下のセ...
-
エクセルで複数のシートのクリ...
-
「マクロが含まれているファイ...
-
【エクセル】「実行時エラー’10...
-
マクロ1があります。 A1のセル...
-
Excelでセル内の文字をファイル...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセル上にシェイプで二重丸...
-
複数シートのグループ化ができ...
-
Excelマクロでブック全体を検索...
-
【マクロ】実行時エラー '424':...
-
「段」と「行」の違いがよくわ...
-
Worksheets メソッドは失敗しま...
-
Excel グラフのプロットからデ...
-
別ブックをダイアログボックス...
-
B列の最終行までA列をオート...
-
VBA 別ブックからコピペしたい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで複数のシートのクリ...
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
指定値をマクロで検索&シート移動
-
【エクセル】「実行時エラー’10...
-
【エクセル】フリーワード検索...
-
エクセル シート内の一番下のセ...
-
エクセルファイルを開いた回数...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
エクセルで特定の行だけ行削除...
-
前月分を次月シートに繰越でき...
-
エクセル マクロ 一定時間おき...
-
excel定数の違いについて。xlAu...
-
エクセル:セル内の文字列の最...
-
エクセルVBAで実行中画面を...
-
セルの一部分だけを太字にする方法
-
エクセルVBAコード
おすすめ情報