Fogli di lavoro VBA - Come utilizzare l'oggetto foglio di lavoro in VBA?

Fogli di lavoro Excel VBA

Excel è una cartella di lavoro e in quella cartella di lavoro contiene fogli di lavoro o fogli. È molto importante comprendere il concetto di fogli di lavoro in VBA perché lavoriamo sempre con fogli di lavoro. Nel normale file Excel, lo chiamiamo fogli ma nella terminologia VBA è chiamato "Foglio di lavoro". Tutte le raccolte di un foglio di lavoro sono chiamate "Fogli di lavoro".

In VBA, il foglio di lavoro è un oggetto. Ci sono due modi per fare riferimento al foglio di lavoro, uno utilizzando l'oggetto "Foglio di lavoro" e un altro utilizzando l'oggetto "Fogli".

So che la tua domanda è qual è la differenza tra loro. In Excel, possiamo vedere due tipi di fogli, uno è un normale foglio di lavoro e un altro è un foglio grafico.

La scheda del foglio di lavoro in Excel considera solo i fogli di lavoro nella cartella di lavoro ad eccezione dei fogli grafici. "Fogli" considera tutti i fogli di lavoro nella cartella di lavoro, incluso il foglio grafico. Ad esempio, guarda l'immagine qui sotto.

In quanto sopra, abbiamo un totale di 5 fogli. Di questi 5 fogli, 3 sono fogli di lavoro e 2 sono fogli grafici.

Qui il conteggio "Foglio di lavoro" è 3 e il conteggio "Fogli" è 2.

Ora guarda l'immagine qui sotto.

Qui tutti i fogli sono fogli di lavoro, quindi il conteggio di "Foglio di lavoro" e "Fogli" è 3.

Quindi, come parte del codice, se vuoi usare fogli di lavoro, gli oggetti ricordano questo punto.

Sintassi dei fogli di lavoro VBA

Come ho detto, il foglio di lavoro è una variabile oggetto. Tuttavia, anche questo ha la sintassi.

L'indice non è nulla che sia il numero del foglio di lavoro a cui ci riferiamo. Come puoi vedere alla fine, viene indicato come Object.

Ad esempio, Foglio di lavoro (1). Selezionare significa selezionare il primo foglio di lavoro della cartella di lavoro. Non importa quale sia il nome del foglio di lavoro; qualunque sia il foglio di lavoro inserito per primo nella cartella di lavoro verrà selezionato.

Possiamo anche fare riferimento al foglio di lavoro con il suo nome. Dobbiamo menzionare il nome completo in quanto è il nome di un foglio di lavoro tra virgolette.

Ad esempio, Foglio di lavoro ("Foglio di vendita"). Selezionare significa selezionare il foglio denominato "Foglio di vendita". Qui non importa quale sia il numero del foglio di lavoro, seleziona sempre il foglio di lavoro specificato.

Come utilizzare l'oggetto fogli di lavoro in VBA?

Esempio 1

Ad esempio, supponi di avere un totale di 5 fogli nella tua cartella di lavoro e il nome di questi fogli di lavoro è "Foglio di lavoro 1", "Foglio di lavoro 2", "Foglio di lavoro 3", "Foglio grafico 1" e "Foglio grafico 2".

Se utilizzo la numerazione per selezionare il foglio di lavoro, posso utilizzare il numero come riferimento del foglio di lavoro.

Foglio di lavoro (2). Seleziona significa che selezionerà il secondo foglio di lavoro della cartella di lavoro.

Codice:

Sub Worksheet_Example1 () Worksheets (2) .Seleziona End Sub

Eseguirò questo codice usando il tasto F5 o manualmente e vedrò il risultato.

Ora cambierò il numero del foglio in 3.

Codice:

Sub Worksheet_Example1 () Worksheets (3) .Seleziona End Sub

Ora guarda cosa succede quando esegui il codice manualmente o utilizzando il codice chiave F5.

Se guardi l'immagine sopra, aveva selezionato il 4 ° foglio di lavoro quando ho chiesto di selezionare il 3 ° foglio di lavoro.

Questo perché ho utilizzato l'oggetto Foglio di lavoro, non l'oggetto Fogli. Come ho detto prima, l'oggetto "Fogli di lavoro" considera solo i fogli di lavoro, non i fogli grafici.

Per selezionare il terzo foglio di tutti i fogli nella cartella di lavoro, utilizza l'oggetto Fogli.

Codice:

Foglio di lavoro secondario_Esempio1 ()

Fogli (3) .Seleziona

End Sub

Ora selezionerà il terzo foglio esatto.

Esempio n. 2: selezionare Fogli di lavoro per nome

Selezionare i fogli per nome il loro nome è il modo accurato di riferire il foglio. Ad esempio, se si desidera selezionare il foglio "Foglio di lavoro 3", è possibile utilizzare il codice seguente.

Codice:

Sub Worksheet_Example2 () Worksheets ("Worksheet 3") Seleziona End Sub

Questo selezionerà il foglio esatto; non importa dove sia posizionato nella cartella di lavoro.

Ma se hai provato ad accedere al foglio grafico con l'oggetto "Fogli di lavoro", otterremo "Indice fuori intervallo".

Codice:

Sub Worksheet_Example2 () Worksheets ("Chart Sheet 1"). Seleziona End Sub

Eseguire questo codice tramite il tasto F5 o manualmente e vedere il risultato.

Esempio # 3 - Problema con il nome del foglio di lavoro

C'è un altro problema con il riferimento ai fogli per nome. Se qualcuno cambia il nome del foglio di lavoro, di nuovo, riceveremo l'errore "Indice fuori intervallo".

Per risolvere questo problema, vai all'editor di visual basic premendo il tasto ALT + F11 .

Ora seleziona il nome del foglio e premi il tasto F4 per vedere la finestra delle proprietà.

In queste proprietà, la finestra cambia il nome del foglio di lavoro con il tuo nome.

Una cosa interessante qui è che anche se abbiamo cambiato il nome del foglio di lavoro da "Foglio di lavoro 1" a "WS1", possiamo ancora vedere lo stesso nome nella cartella di lavoro.

Ora possiamo fare riferimento a questo foglio con il nome "WS1".

Codice:

Sub Worksheet_Example2 () Worksheets ("WS1") Selezionare End Sub

Ora non importa chi cambia il nome del foglio di lavoro. Tuttavia, il nostro codice fa riferimento allo stesso foglio fintanto che non cambia nell'editor di visual basic.

Esempio n. 4: ottieni il conteggio dei fogli totali nella cartella di lavoro

Un foglio di lavoro è un oggetto e possiamo usare tutte le proprietà e i metodi ad esso associati. Cosa facciamo con i fogli di lavoro?

Inseriamo fogli di lavoro. Rinominiamo i fogli di lavoro. Eliminiamo fogli di lavoro e molte altre cose che facciamo con esso.

Inserisci l'oggetto "Fogli di lavoro" e metti un punto per vedere tutte le opzioni con essi.

Per ottenere il conteggio dei fogli di lavoro, utilizza la proprietà Count VBA.

Codice:

Sub Worksheet_Example3 () Dim i As Long i = Worksheets.Count MsgBox i End Sub

Questo mostrerà il conteggio dei fogli di lavoro.

Anche se ci sono 5 fogli, abbiamo ottenuto il conteggio come 3 perché gli altri 2 fogli sono fogli grafici.

Per ottenere il conteggio complessivo dei fogli, utilizza l'oggetto "Fogli".

Codice:

Sub Worksheet_Example3 () Dim i As Long i = Sheets.Count MsgBox i End Sub

Questo mostrerà il conteggio completo dei fogli.

Esempio n. 5 - Metodi che utilizzano l'oggetto foglio di lavoro

Dopo aver inserito l'oggetto del foglio di lavoro, possiamo accedere a tutte le proprietà e agli oggetti ad esso associati. Possiamo aggiungere un nuovo foglio. Possiamo cancellare, ecc.

Per aggiungere un nuovo foglio.

Foglio di lavoro Aggiungi

Per eliminare il foglio di lavoro

Foglio di lavoro ("Nome foglio") Elimina

Per modificare il nome del foglio di lavoro

Foglio di lavoro ("Nome foglio"). Nome = "Nuovo nome"

Articoli interessanti...