2012-09-21 66 views
6

Necesito detectar el comando pegar de excel. ¿Hay algún trabajo que nos indique cuándo el usuario hace clic en pegar en el menú emergente desde el botón izquierdo del menú, haga clic en. Esto me exige ejecutar un procedimiento si el usuario hace clic en el elemento de menú pegar. Cualquier ayuda sería apreciada.cómo detectar el evento pegar en excel

Saludos, Amit

+2

ver esto en la forma de atrapar cualquier evento paste http: //www.siddharthrout.com/2011/08/15/vba-excelallow-paste-special-only/ –

+0

@SiddharthRout el enlace que proporcionó ahora muestra el error 'No se encontraron errores '. ¿Puedes ayudarnos con el enlace actualizado? – RBT

Respuesta

10

préstamos de Excel VBA How to detect if something was pasted in a Worksheet. El evento Workbook_SheetChange se activará para cualquier evento de cambio en la página, incluido un pegado.

Desde el interior de este evento, a continuación, puede comprobar si el último cambio fue una pasta observando la más reciente entrada en la lista de Deshacer Historia:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    Dim lastAction As String 

    ' Get the last action performed by user 
    lastAction = Application.CommandBars("Standard").Controls("&Undo").List(1) 

    ' Check if the last action was a paste 
    If Left(lastAction, 5) = "Paste" Then 

    ' Do Stuff Here 

    End If 
End Sub 
Cuestiones relacionadas