2010-06-08 4 views
9

Come posso eseguire il codice quando si apre un foglio di lavoro? (Il codice che voglio correre è contenuto nel foglio di lavoro di apertura)Evento OnOpenExcelWorksheet da attivare quando viene aperto il foglio di lavoro?

+0

Intendevi cartella di lavoro? - Perché in Excel si "aprono" le cartelle di lavoro. - Alcune indicazioni per il ricercatore Google ribelle: la risposta accettata si applica al passaggio da un foglio all'altro (le schede della cartella di lavoro). - Vedere la risposta seguente se si desidera sapere come eseguire una macro quando viene aperta la cartella di lavoro. – BrainSlugs83

risposta

18

È possibile inserire un determinato codice nella funzione Worksheet_Activate() che verrà eseguita quando il foglio è selezionato. Inoltre, usa Worksheet_Deactivate() per eseguire il codice quando lasci il wokrsheet e vai a un altro. Queste funzioni vanno nel codice dell'oggetto del foglio di lavoro.

Private Sub Worksheet_Activate() 
    MsgBox ("Hi") 
End Sub 

Private Sub Worksheet_Deactivate() 
    MsgBox ("Bye") 
End Sub 
10

io non sono sicuro di come ottenere il codice da eseguire quando un'opera foglio di si apre, ma è possibile farlo funzionare quando un libretto di lavoro si apre.

Nell'editor VBA, aprire l'oggetto di Microsoft Excel denominato "ThisWorkbook". Nella parte superiore della finestra dell'editor, dovresti vedere due caselle a discesa: (Generale) e (Dichiarazioni). Modificare la casella combinata (generale) in modo che sia "cartella di lavoro".

Questo vi darà il metodo chiamato Workbook_Open(). Il codice inserito in questo metodo verrà eseguito all'apertura della cartella di lavoro di Excel.


Inoltre, si dispone di più eventi a vostra usa e getta, disponibile nella sezione (dichiarazioni) quando si hanno Workbook selezionati, come SheetActivate e SheetChanged, tra gli altri. Non ho usato questi metodi, ma potrebbero essere qualcosa da provare se hai bisogno di eventi relativi ai singoli fogli di lavoro e non solo l'intera cartella di lavoro.