Come utilizzare la variabile vba thisworkbook in excel?

In VBA è possibile utilizzare la proprietà ThisWorkbook per fare riferimento alla cartella di lavoro in cui si scrive il codice. Quando lo usi, hai accesso a tutte le proprietà e i metodi della cartella di lavoro corrente. In poche parole, puoi eseguire tutte le attività nella cartella di lavoro corrente senza utilizzare il nome.

Supponiamo di voler contare i fogli nella cartella di lavoro corrente. Il codice che devi scrivere sarebbe il seguente.

 Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
vba-questa cartella di lavoro

Quando esegui questo codice, viene visualizzata una finestra di messaggio con il numero di fogli presenti nella cartella di lavoro corrente.

casella di messaggio con conteggio dei fogli

Come ho detto, quando usi ThisWorkbook, ti dà accesso alle proprietà e al metodo della cartella di lavoro corrente. Puoi vedere tutto questo quando inserisci un punto (.) per visualizzare l’elenco completo.

accesso alle proprietà

Link utili: Esegui una macroRegistratore di macroVisual Basic EditorManuale delle macro personali

Utilizzo di ThisWorkbook con una variabile

Successivamente, ti mostrerò un esempio di codice reale per dichiarare una variabile per utilizzare la proprietà ThisWorkbook. Supponiamo di voler eseguire diverse attività nella cartella di lavoro corrente.

 Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub

Nella prima parte di questo codice hai una variabile, quindi assegnale la proprietà “ThisWorkbook”. E poi nella seconda parte hai la WITH STATEMENT per eseguire più attività con la variabile corrente.

ActiveWorkBook contro questa cartella di lavoro

Lascia che te lo spieghi con una semplice analogia, quindi abbi pazienza per i prossimi 2 minuti.

Hai due cartelle di lavoro aperte contemporaneamente (Libro1 e Libro2). Scrivi il codice in book1 ma book2 è attivo a questo punto. Pertanto, quando esegui questo codice che fa riferimento ad ActiveWorkbook, eseguirà questa attività in Book2 .

Ma quando usi ThisWorkbook, VBA fa sempre riferimento alla cartella di lavoro in cui è scritto il codice.

Il punto è questo: è sempre meglio utilizzare ThisWorkbook perché elimina la possibilità di errore.

Ulteriori informazioni sulle cartelle di lavoro VBA

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *