オートシェイプのクリックイベントでシェイプの名前を取得 : Excel(エクセル)

Excel Tipsメニューに戻る

スポンサードリンク



Excelのシェイプへのマクロの割り当ては、tshape.OnAction = "マクロ名" でできます。
マクロのプロシージャを標準モジュールに作成します。
オートシェイプの名前は、Application.Caller で取得できます。
今回はクリックされるとA1セルに名前が表示されます。

ExcelシートのVBAコード

Option Explicit

Sub ExMakeShape()
    Dim tshape As Shape
    
    'オートシェイプの作成
    With ActiveSheet.Rang("B6:D15")
        Set tshape = ActiveSheet.Shapes.AddShape(Type:=msoShapeVerticalScroll, _
        Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
    End With
    '名前を付ける
    tshape.Name = "シェイプ01"
    'クリックされた時のマクロを割り当てる
    tshape.OnAction = "ExShapeClick"
    
    Set tshape = Nothing
End Sub

'ボタンのクリックイベント
Private Sub CommandButton1_Click()
    ExMakeShape
End Sub

標準モジュールのVBAコード

Option Explicit

Sub ExShapeClick()
    Dim kname As String
    
    'クジの名前を取得
    kname = Application.Caller
    Range("A1") = kname
End Sub

スポンサードリンク



Excel実行画面

「オートシェイプ作成」ボタンをクリックすると、シェイプが作成されます。
オートシェイプをクリックすると、イベントが発生しシェイプ名がA1セルに表示されます。
オートシェイプの作成結果

Excel Tipsメニューに戻る

スポンサードリンク





■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


関連コンテンツ

Copyright (c) Excel-Excel ! All rights reserved