2012-09-21 8 views
6

Devo rilevare il comando paste di Excel. C'è un lavoro in giro che può dirci quando l'utente fa clic sulla pasta sul menu pop-up dal pulsante sinistro del mouse. Mi è richiesto di eseguire una procedura se l'utente fa clic sulla voce di menu Incolla. Qualsiasi aiuto sarebbe apprezzato.come rilevare l'evento paste in excel

saluti, Amit

+2

vedere questo sul come intercettare qualsiasi http pasta evento: //www.siddharthrout.com/2011/08/15/vba-excelallow-paste-special-only/ –

+0

@SiddharthRout il link che hai fornito sta dando ora l'errore "Nessun risultato trovato". Potete aiutarci per favore con il link aggiornato? – RBT

risposta

10

prestito da Excel VBA How to detect if something was pasted in a Worksheet. L'evento Workbook_SheetChange verrà attivato per qualsiasi evento di modifica sulla pagina, inclusa una copia.

Da dentro questo evento, si può quindi controllare se l'ultima modifica è stata una pasta, cercando in più recente ingresso nella lista della cronologia degli annullamenti:

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 
Problemi correlati