Valore cella VBA: ottieni, imposta o modifica

Questo tutorial ti insegnerà come interagire con i valori delle celle usando VBA.

Imposta valore cella

Per impostare un valore di cella, utilizzare la proprietà Value dell'oggetto Range o Cells.

Intervallo.Valore e Celle.Valore

Esistono due modi per fare riferimento alle celle in VBA:

  • Oggetto intervallo - Intervallo ("A2"). Valore
  • Oggetto Celle - Celle(2,1).Valore

L'oggetto Range consente di fare riferimento a una cella utilizzando la notazione standard "A1".

Questo imposterà il valore dell'intervallo A2 = 1:

1 Intervallo ("A2"). Valore = 1

L'oggetto Cells ti consente di fare riferimento a una cella in base al numero di riga e al numero di colonna.

Questo imposterà il valore dell'intervallo A2 = 1:

1 Celle(2,1).Valore = 1

Nota che inserisci prima il numero di riga:

1 Celle(Numero_riga, num_colonna)

Imposta i valori di più celle contemporaneamente

Invece di fare riferimento a una singola cella, puoi fare riferimento a un intervallo di celle e modificare tutti i valori delle celle contemporaneamente:

1 Intervallo ("A2: A5"). Valore = 1

Imposta valore cella - Testo

Negli esempi precedenti, impostiamo il valore della cella uguale a un numero (1). Invece, puoi impostare il valore della cella uguale a una stringa di testo. In VBA, tutto il testo deve essere circondato da virgolette:

1 Intervallo ("A2"). Valore = "Testo"

Se non racchiudi il testo tra virgolette, VBA penserà che fai riferimento a una variabile…

Imposta valore cella - Variabile

Puoi anche impostare un valore di cella uguale a una variabile

1234 Dim strText as StringstrText = "Stringa di testo"Intervallo ("A2"). Valore = strText

Ottieni valore cella

Puoi ottenere i valori delle celle usando la stessa proprietà Value che abbiamo usato sopra.

Ottieni valore ActiveCell

Per ottenere il valore ActiveCell e visualizzarlo in una finestra di messaggio:

1 MsgBox ActiveCell.Value

Assegna valore cella a variabile

Per ottenere un valore di cella e assegnarlo a una variabile:

123 Dim var come Variantvar = Intervallo ("A1"). Valore

Qui abbiamo usato una variabile di tipo Variant. Le variabili varianti possono accettare qualsiasi tipo di valore. Invece, potresti usare un tipo di variabile String:

123 Dim var as Stringvar = Intervallo ("A1"). Valore

Un tipo di variabile String accetterà valori numerici, ma memorizzerà i numeri come testo.

Se sai che il valore della tua cella sarà numerico, puoi utilizzare un tipo di variabile Double (le variabili Double possono memorizzare valori decimali):

123 Dim var come Doublevar = Intervallo ("A1"). Valore

Tuttavia, se tenti di memorizzare un valore di cella contenente testo in una doppia variabile, riceverai un errore di mancata corrispondenza del tipo:

Altri esempi di valori di cella

Copia valore cella

È facile impostare un valore di cella uguale a un altro valore di cella (o "Copia" un valore di cella):

1 Intervallo ("A1"). Valore = Intervallo ("B1"). Valore

Puoi anche farlo con intervalli di celle (gli intervalli devono avere le stesse dimensioni):

1 Intervallo ("A1: A5"). Valore = Intervallo ("B1: B5"). Valore

Confronta i valori delle celle

Puoi confrontare i valori delle celle utilizzando gli operatori di confronto standard.

Verifica se i valori delle celle sono uguali:

1 MsgBox Range("A1").Value = Range("B1").Value

Restituirà TRUE se i valori delle celle sono uguali. Altrimenti FALSO.

Puoi anche creare un'istruzione If per confrontare i valori delle celle:

12345678910111213 If Range("A1").Value > Range("B1").Value ThenIntervallo ("C1"). Valore = "Maggiore di"Elseif Range("A1").Value = Range("B1").Value ThenIntervallo ("C1"). Valore = "Uguale"AltroIntervallo ("C1"). Valore = "Minore di"Finisci se

Puoi confrontare il testo allo stesso modo (ricorda che VBA fa distinzione tra maiuscole e minuscole)

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave