Celle VBA

Le celle sono in realtà celle del foglio di lavoro e in VBA quando ci riferiamo alle celle come proprietà di intervallo ci riferiamo effettivamente alle celle esatte, in altre parole, la cella viene utilizzata con la proprietà intervallo e il metodo di utilizzo della proprietà delle celle è il seguente Intervallo ( .Cell (1,1)) ora celle (1,1) significa che la cella A1 il primo argomento è per la riga e il secondo è per il riferimento di colonna.

Riferimenti di cella VBA

Non hai bisogno di presentazioni speciali su cosa sia una cella VBA. Nei concetti VBA, anche le celle sono le stesse, non diverse dalle normali celle Excel. Segui questo articolo per avere una maggiore conoscenza del concetto di celle VBA.

Cosa sono l'intervallo VBA e la cella VBA?

Sono sicuro che questa è la domanda che ti passa per la testa in questo momento. In VBA Range è un oggetto ma Cell è una proprietà in un foglio Excel. In VBA abbiamo due modi per fare riferimento a un oggetto cella, uno tramite Range e un altro tramite Cells.

Ad esempio, se si desidera fare riferimento alla cella C5, è possibile utilizzare due metodi per fare riferimento alla cella C5.

Utilizzo del metodo intervallo: intervallo ("C5")

Utilizzo del metodo delle celle: celle (5, 3)

Allo stesso modo, se si desidera inserire il valore "Ciao" nella cella C5, è possibile utilizzare il codice seguente.

Utilizzo del metodo intervallo: intervallo ("C5"). Valore = "Hi"

Utilizzo del metodo delle celle: celle (5, 3) .Value = "Hi"

Ora, se vuoi selezionare più celle, possiamo selezionare solo tramite l'oggetto Range. Ad esempio, se voglio selezionare le celle da A1 a A10, di seguito è presente il codice.

Codice: intervallo ("A1: A10") Selezionare

Ma sfortunatamente, possiamo fare riferimento solo a una cella alla volta utilizzando la proprietà CELLS. Possiamo usare le celle con l'oggetto Range come di seguito

Intervallo ("A1: C10"). Le celle (5,2) significano nell'intervallo da A1 a C10 la quinta riga e la seconda colonna, ovvero la cella B5.

La formula della proprietà CELLS in VBA

Guarda la formula della proprietà CELLS.

  • Indice di riga: questo non è altro che la riga a cui facciamo riferimento.
  • Indice delle colonne: questo non è altro che la colonna a cui facciamo riferimento.
  • Cells (1, 1) significa cella A1, Cells (2, 1) significa cella A2, Cells (1, 2) significa cella B1.
  • Celle (2, 2) significa cella B2, Celle (10, 3) significa cella C10, Celle (15, 5) significa cella E15.

# 1 - Come utilizzare la proprietà CELLS in VBA?

Ora ti insegnerò come utilizzare queste proprietà CELLS in VBA.

Puoi scaricare questo modello Excel per celle VBA qui - Modello Excel per celle VBA

Supponi di lavorare nel nome del foglio denominato Dati 1  e di voler inserire un valore "Hello" nella cella A1.

Il codice seguente lo farebbe per te.

 Sub Cells_Example () Cells (1, 1) .Value = "Hello" End Sub 

Risultato:

Ora andrò al nome del foglio chiamato Data 2 e eseguirò il codice. Anche lì inserirà la parola "Hello".

In realtà, possiamo combinare anche la proprietà CELLS con un particolare nome di foglio. Per fare riferimento a un determinato foglio utilizzare l'oggetto WORKSHEET.

Fogli di lavoro ("Dati 1"). Celle (1,1) .Valore = "Hello"

Questo inserirà la parola "Hello" nel foglio "Dati 1" indipendentemente dal foglio in cui ti trovi.

# 2 - Come utilizzare la proprietà CELLS con l'oggetto Range?

In realtà, possiamo usare la proprietà CELLS con un oggetto RANGE. Ad esempio, guarda il codice seguente.

Intervallo ("C2: E8"). Celle (1, 1). Seleziona

Per una migliore comprensione, ho inserito alcuni numeri nel foglio Excel.

L' intervallo di codice sopra ("C2: E8"). Celle (1, 1). Selezionare dice nell'intervallo da C2 a E8 selezionare la prima cella. Esegui questo codice e guarda cosa succede.

 Sub Cells_Example () Intervallo ("C2: E8"). Celle (1, 1). Seleziona End Sub 

Ha selezionato la cella C2. Ma Cells (1, 1) significa cella A1, non è vero?

Il motivo per cui ha selezionato la cella C2 perché utilizzando l'oggetto intervallo abbiamo insistito sull'intervallo da C2 a E8, quindi la proprietà Cells tratta l'intervallo da C2 a E8, non dalla normale cella A1. In questo esempio, C2 è la prima riga e la prima colonna, quindi Cells (1, 1) .select significa cella C2.

Ora cambierò il codice in Range ("C2: E8"). Celle (3, 2). Seleziona e guarda cosa succede.

Esegui questo codice e controlla quale cella effettivamente selezionerà.

 Sub Cells_Example () Intervallo ("C2: E8"). Celle (3, 2). Seleziona End Sub 

Ha selezionato la cella D4 cioè No 26. Le celle (3,2) significano partire dalla cella C2 spostata verso il basso di 3 righe e spostare 2 colonne a destra cioè cella D4.

# 3 - Proprietà delle celle con loop

La proprietà CELLS con loop ha una relazione molto buona in VBA. Diamo un'occhiata all'esempio di inserimento di numeri di serie da 1 a 10 utilizzando FOR LOOP. Copia e incolla il codice seguente nel tuo modulo.

 Sub Cells_Example () Dim i As Integer For i = 1 To 10 Cells (i, 1) .Value = i Next i End Sub 

Qui ho dichiarato la variabile I come numero intero.

Quindi ho applicato FOR LOOP con I = da 1 a 10, ovvero il ciclo deve essere eseguito per 10 volte.

Celle (i, 1) .value = i

Ciò significa che quando il ciclo viene eseguito per la prima volta, il valore di "I" sarà 1, quindi ovunque il valore di "I" sia 1, ovvero Cella (1,1).

Quando il ciclo restituisce il valore di "I" per la seconda volta, è 2, quindi ovunque sia il valore di "I", è 2. i .e. Cella (2,1) .value = 2

Questo ciclo verrà eseguito per 10 volte e inserirà il valore I da A1 ad A10.

Cose da ricordare nelle celle VBA

  • CELLS è una proprietà ma il RANGE è un oggetto. Possiamo usare la proprietà con gli oggetti ma non l'oggetto della proprietà.
  • Quando viene fornito l'intervallo, le celle considerano solo quell'intervallo, non l'intervallo normale.
  • Cells (1, 2) è la cellula B1, allo stesso modo Cells (1, "B") è anche la cellula B1.