
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も見ています
-
ExcelVBA 図形をクリックした際のイベントを拾うには
Visual Basic(VBA)
-
【EXCEL VBA】オートシェイプをクリックした時にそのオートシェイプの名前を取得したい
Visual Basic(VBA)
-
エクセルで、オブジェクトの選択を禁止する方法。
Excel(エクセル)
-
-
4
オートシェイプ図形をクリックでコメントを表示したい
Excel(エクセル)
-
5
Excel VBAでマウスの左クリックのイベントを検知するには
Visual Basic(VBA)
-
6
コマンドボタンやイメージにマウスをのせるとボタン名を表示したい
Excel(エクセル)
-
7
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
8
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
11
EXCEL 一部のオブジェクトだけを固定したい
Excel(エクセル)
-
12
エクセルの画像にツールチップを表示させたい
Visual Basic(VBA)
-
13
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
14
Excel VBAで、実行時にsheet上のコマンドボタンのCaptionを変更する。
Excel(エクセル)
-
15
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
16
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
17
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
18
VBA エンターキーでイベントに入りたい。
PowerPoint(パワーポイント)
-
19
VBA シートのボタン名を変更したい
Visual Basic(VBA)
-
20
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
テキストファイルをエクセルに...
-
EXCELのマクロで数値の時間計算。
-
長い時間かかるマクロが実行中...
-
excel定数の違いについて。xlAu...
-
指定値をマクロで検索&シート移動
-
複数のテキストデータ(文章)を...
-
【エクセル】「実行時エラー’10...
-
VBA初心者です。 仕事の残業を...
-
excel マクロコードを教えてい...
-
Excel VBA で行列計算をさせた...
-
「マクロが含まれているファイ...
-
エクセル:セル内の文字列の最...
-
エクセルVBAで実行中画面を...
-
エクセルマクロでファイル名や...
-
Excelにて、同じ画像を複数のセ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
Excelにて、同じ画像を複数のセ...
-
Excelマクロでブック全体を検索...
-
エクセルでマクロを作りすぎた...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
おすすめ情報