/ / Excel VBA cartella di lavoro e oggetto del foglio di lavoro

Cartella di lavoro VBA di Excel e oggetto foglio di lavoro

Gerarchia degli oggetti | collezioni | Proprietà e metodi

Ulteriori informazioni su Cartella di lavoro e Oggetto del foglio di lavoro nel Excel VBA.

Gerarchia degli oggetti

In VBA di Excel, un oggetto può contenere un altrooggetto, e quell'oggetto può contenere un altro oggetto, ecc. In altre parole, la programmazione VBA di Excel implica l'utilizzo di una gerarchia di oggetti. Questo probabilmente suona piuttosto confuso, ma lo chiariremo.

La madre di tutti gli oggetti è Excel stesso. Lo chiamiamo l'oggetto Application. L'oggetto dell'applicazione contiene altri oggetti. Ad esempio, l'oggetto Cartella di lavoro (file Excel). Questo può essere qualsiasi cartella di lavoro che hai creato. L'oggetto Cartella di lavoro contiene altri oggetti, ad esempio l'oggetto Foglio di lavoro. L'oggetto Foglio di lavoro contiene altri oggetti, come l'oggetto Range.

Il capitolo Crea una macro illustra come eseguire il codice facendo clic su un pulsante di comando. Abbiamo usato la seguente riga di codice:

Range("A1").Value = "Hello"

ma quello che volevamo veramente era:

Application.Workbooks("create-a-macro").Worksheets(1).Range("A1").Value = "Hello"

Nota: gli oggetti sono collegati con un punto. Fortunatamente, non dobbiamo aggiungere una riga di codice in questo modo. Questo perché abbiamo inserito il nostro pulsante di comando in create-a-macro.xls, nel primo foglio di lavoro. Tenere presente che se si desidera modificare elementi su fogli di lavoro diversi, è necessario includere l'oggetto Foglio di lavoro. Continuare a leggere.

collezioni

Potresti aver notato che i libri di esercizi eI fogli di lavoro sono entrambi plurali. Questo perché sono raccolte. La raccolta Cartelle di lavoro contiene tutti gli oggetti della cartella di lavoro attualmente aperti. La raccolta Fogli di lavoro contiene tutti gli oggetti del foglio di lavoro in una cartella di lavoro.

Nomi del foglio di lavoro

È possibile fare riferimento a un membro della raccolta, ad esempio un singolo oggetto Foglio di lavoro, in tre modi.

1. Usando il nome del foglio di lavoro.

Worksheets("Sales").Range("A1").Value = "Hello"

2. Usando il numero indice (1 è il primo foglio di lavoro che parte da sinistra).

Worksheets(1).Range("A1").Value = "Hello"

3. Utilizzo del CodeName.

Sheet1.Range("A1").Value = "Hello"

Per vedere il CodeName di un foglio di lavoro, apri Visual Basic Editor. Nell'Esplora progetti, il primo nome è CodeName. Il secondo nome è il nome del foglio di lavoro (Vendite).

Nome in codice

Nota: il CodeName rimane lo stesso se si modifica il nome del foglio di lavoro o l'ordine dei fogli di lavoro, quindi questo è il modo più sicuro per fare riferimento a un foglio di lavoro. Fare clic su Visualizza, Finestra Proprietà per modificare il Nome Codice di un foglio di lavoro. C'è uno svantaggio, non è possibile utilizzare CodeName se si fa riferimento a un foglio di lavoro in un'altra cartella di lavoro.

Proprietà e metodi

Ora diamo un'occhiata ad alcune proprietà emetodi della raccolta Workbooks and Worksheets. Le proprietà sono qualcosa che ha una collezione (descrivono la collezione), mentre i metodi fanno qualcosa (eseguono un'azione con una raccolta).

Inserire un pulsante di comando nel foglio di lavoro e aggiungere le righe di codice:

1. Il metodo Aggiungi della raccolta Cartelle di lavoro crea una nuova cartella di lavoro.

Workbooks.Add

Nota: il metodo Aggiungi della raccolta fogli di lavoro crea un nuovo foglio di lavoro.

2. La proprietà Count della raccolta Worksheets conta il numero di fogli di lavoro in una cartella di lavoro.

MsgBox Worksheets.Count

Risultato quando si fa clic sul pulsante di comando sul foglio:

Conta proprietà in VBA di Excel

Nota: la proprietà Count della cartella Workbooks conta il numero di cartelle di lavoro attive.

Leggi anche: