1

Excelでは、次のダイアログを使用して、画像にマクロを割り当てることができます。

ここに画像の説明を入力してください

これにより、次のコードが生成されます。

Private Sub MyShape_Click()
    ' ...
End Sub

ただし、このマクロをさまざまな画像に割り当てる必要があります。クリックハンドラー内から選択された画像を特定するにはどうすればよいですか?また、その画像への参照を取得するにはどうすればよいですか?

4

1 に答える 1

4

アップデート:

すべての画像に同じマクロを割り当て、マクロで使用Application.Callerして、それを呼び出した画像/形状を決定します。この場合、(画像/形状)Application.CallerはタイプになりStringます。

Private Sub GenericPicture_Click()
    Select Case Application.Caller
        Case "Picture 1"
            'do your work
            MsgBox "You got me"
        Case "Picture 2" 
            'do your work
        ...

    End Select 

    'Lets flip the picture that has been clicked
    With ActiveSheet.Shapes(Application.Caller)
        .Flip msoFlipHorizontal
    End With
End Sub

また、個別のマクロからのパラメーターを使用して、必要な処理ロジックを実装するsubを呼び出す必要な動作を実装することもできます。

Sub Picture1_Click()
    DoWork 1
End Sub

Sub Picture2_Click()
    DoWork 2
End Sub

Sub DoWork(ByVal pic As Integer)
    'Implement your logic here
    MsgBox "Hi! I am picture" & pic
End Sub

画像/図形に割り当てるマクロはどこPicture1_Click()にありますか。Picture2_Click()

于 2013-01-30T06:58:45.270 に答える