Errore del button di command

Può chiunque aiutare. Ho problemi con il seguente codice. Continuo a ricevere errori 1004.

Private Sub CommandButton1_Click() Sheets("Main Sheet").Range("A8").Formula = "=LOOKUP(2,1/(DATA!L1:L20212<>""),DATA!L1:L20212)" End Sub 

Quello che dopo il codice =LOOKUP(2,1/(DATA!L1:L20212<>""),DATA!L1:L20212) viene inserito nella cella A8 utilizzando un button di command una volta che il button è stato distriggersto.

È necessario fuggire dalle doppie virgolette. Fai questo:

 Private Sub CommandButton1_Click() Sheets("Main Sheet").Range("A8").Formula = "=LOOKUP(2,1/(DATA!L1:L20212<>""""),DATA!L1:L20212)" End Sub 

Notate come esistono 4 doppie virgolette nella formula ( <>"""" ). Le citazioni all'interno di una string che devono essere scritte come parte della string devono essere eliminate con un altro carattere di quote doppie, altrimenti il ​​codice è l'inizio / fine della string.


ADDENDUM

Per rispondere alla tua domanda aggiuntiva nel tuo commento, è ansible rimuovere queste informazioni quando il module si apre. C'è un evento di form che è ansible gestire ( UserForm_Activate ) per get questo risultato. Ad esempio, aggiungi il seguente codice al form:

 Private Sub UserForm_Activate() Sheets("Main Sheet").Range("A8") = "" ' clear previous data End Sub Private Sub UserForm_Activate () Private Sub UserForm_Activate() Sheets("Main Sheet").Range("A8") = "" ' clear previous data End Sub 

Ciò significa che quando l'evento si spegne, cioè quando il module è "triggersto", tutti i dati precedenti nell'intervallo "A8" del "foglio principale" verranno cancellati.


ADDENDUM 2

Per cancellare il valore nell'intervallo "A8" del "Foglio principale" quando la cartella di lavoro viene aperta (la mia precedente soluzione lo chiude solo quando viene aperta la forma utente ), è necessario aggiungere un gestore di events alla cartella di lavoro.

Aprire l'object Excel di ThisWorkbook e aggiungerlo in:

 Private Sub Workbook_Open() Sheets("Main Sheet").Range("A8") = "" ' clear previous data End Sub 

Questo evento ( Workbook_Open ) si accende quando viene aperta la cartella di lavoro. È molto importnte aggiungere questo codice nell'object ThisWorkbook .