Come attivare una cartella di lavoro excel tramite vba?

Quando lavori con più cartelle di lavoro contemporaneamente, voglio dire, quando hai più cartelle di lavoro aperte contemporaneamente, devi conoscere il metodo che può aiutarti ad attivare una cartella di lavoro su cui vuoi lavorare.

attivare la cartella di lavoro

Per attivare una cartella di lavoro utilizzando VBA, è necessario utilizzare il metodo Workbook.Activate. In questo metodo è necessario specificare il nome della cartella di lavoro utilizzando l’oggetto Workbook. Consente inoltre di utilizzare il numero della cartella di lavoro anziché il nome della cartella di lavoro, ma è possibile fare riferimento solo alle cartelle di lavoro aperte.

In questo tutorial esamineremo diversi modi per utilizzare questo metodo.

Passaggi per attivare una cartella di lavoro

leganti di tipo
  1. Digitare “Raccoglitori” per utilizzare l’oggetto raccoglitore.
  2. Specificare il nome della cartella di lavoro tra virgolette doppie.
  3. Immettere un punto (.) per ottenere un elenco di proprietà e metodi.
  4. Seleziona il metodo di attivazione dall’elenco oppure puoi anche inserirlo.
  5. Alla fine, esegui il codice per attivare la cartella di lavoro.
 Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub

Nota: se provi ad attivare una cartella di lavoro non aperta, VBA visualizzerà un errore.

vba-mostrerà-un-errore

Correlato: attivare un foglio di calcolo utilizzando VBA

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

Attiva una cartella di lavoro utilizzando il numero

Quando sono aperte più cartelle di lavoro, tutte queste cartelle di lavoro diventano parte della raccolta di cartelle di lavoro e hanno un numero a cui puoi fare riferimento, quindi puoi utilizzare il metodo di attivazione con esso. Ecco il codice:

 Sub vba_activate_workbook() Workbooks(2).Activate End Sub
attivare-un-legante-utilizzando-numero

E se provi ad attivare una cartella di lavoro utilizzando un numero che non esiste, VBA ti mostrerà un errore di runtime “9” (pedice fuori intervallo).

vba-mostrerà-run-time-error-9

Attiva questa cartella di lavoro

Puoi fare riferimento alla cartella di lavoro in cui scrivi il codice utilizzando la proprietà ThisWorkbook. Supponiamo che tu abbia cinque cartelle di lavoro aperte contemporaneamente ma stai lavorando su “Book1.xlsm”, quindi quando esegui il codice seguente verrà attivato “Book1.xlsm”.

 Sub vba_activate_workbook() ThisWorkbook.Activate End Sub

Controllare prima di attivare una cartella di lavoro

Come ho detto, quando provi ad attivare una cartella di lavoro non aperta, VBA ti mostra un errore. Per risolvere questo problema, il modo migliore è controllare prima il nome della cartella di lavoro (se è aperta o meno) e poi attivarla.

 Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub

Utilizzando il codice sopra è possibile specificare il nome di una cartella di lavoro e questo controllerà prima questa cartella di lavoro in tutte le cartelle di lavoro aperte e, se trova la cartella di lavoro, la attiverà.

Commenti

  • Quando utilizzi il nome della cartella di lavoro, assicurati di utilizzare l’estensione di file corretta
  • Se desideri attivare una cartella di lavoro non ancora salvata, devi utilizzare solo il nome di quella cartella di lavoro senza suffisso per l’estensione del file.

Aggiungi un commento

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