Come inserire un valore in una cella utilizzando vba?
Note chiave
- La proprietà value può essere utilizzata in entrambe le direzioni (puoi leggere e scrivere un valore da una cella).
- Puoi fare riferimento a una cella utilizzando Celle e Oggetto intervallo per impostare un valore di cella (anche per ottenere e modificare).
Imposta il valore della cella
Per impostare un valore di cella, è necessario utilizzare la proprietà “Valore”, quindi è necessario impostare il valore che si desidera impostare. Qui ho usato alcuni esempi per aiutarti a capire questo.
1. Immettere un valore in una cella
Supponiamo di dover inserire il valore “Fatto” nella cella A1. In questo caso il codice sarebbe qualcosa del genere:
Range("A1").Value = "Done"
Come puoi vedere, prima imposto l’indirizzo della cella in cui voglio aggiungere il valore, quindi la proprietà value. Alla fine ho assegnato il valore “Fatto” utilizzando il segno uguale “=” tra virgolette doppie.
Puoi anche utilizzare la proprietà “Cells”, proprio come il codice seguente.
Cells(1, 1).Value = "Done"
Il codice sopra si riferisce anche alla cella A1.
Oltre a questo, c’è un altro modo che puoi usare e cioè non usare la proprietà value assegnando direttamente il valore alla cella.
Cells(1, 1) = "Done"
Ma si consiglia di utilizzare la proprietà value per inserire un valore in una cella.
Supponiamo ora di voler inserire un numero in una cella. In questo caso non è necessario utilizzare le virgolette doppie. Puoi scrivere il codice come segue.
Range("A1") = 99
Puoi anche DATA e ORA ( Funzioni VBA ) per inserire una data o un timestamp in una cella utilizzando il codice VBA.
Range("A1").Value = Date Range("A2").Value = Now
E se vuoi inserire un valore nella cella attiva, il codice che ti serve sarebbe come:
ActiveCell.Value = Date
2. Utilizzando una casella di input
Se desideri che un utente specifichi un valore da inserire in una cella, puoi utilizzare una casella di input. Supponiamo di voler inserire il valore nella cella A1, il codice sarebbe simile a questo:
Range("A1").Value = _ InputBox(Prompt:="Type the value you want enter in A1.")
Nel codice precedente, il valore della cella A1 è assegnato al valore restituito dalla casella di input che restituisce il valore inserito dall’utente.
3. Da un’altra cella
Puoi anche impostare il valore della cella utilizzando il valore di un’altra cella. Supponiamo di voler aggiungere valore alla cella A1 dalla cella B1, il codice sarebbe:
Range("A1") = Range("B1").Value
Puoi anche fare riferimento alla cella B1 senza utilizzare la proprietà value.
Range("A1") = Range("B1")
4. Impostare il valore in un intero intervallo
Immagina di voler inserire valori in più celle o in un intervallo di celle anziché in una singola cella, in questo caso devi scrivere il codice come di seguito:
Range("A1:A10").Value = Date Range("B1, B10").Value = Now
Nella prima riga di codice hai un intero intervallo dalla cella A1 ad A10, e nella seconda riga ci sono due celle B1 e B10.
Ottieni il valore della cella
Come ho detto, puoi utilizzare la stessa proprietà value per ottenere il valore di una cella.
1. Ottieni il valore di ActiveCell
Supponiamo di voler ottenere il valore della cella attiva, in questo caso è necessario utilizzare il seguente codice.
ActiveCell.Value = Range("A1")
Nel codice sopra, hai utilizzato la proprietà value con la cella attiva e quindi hai assegnato quel valore alla cella A1.
2. Assegnare a una variabile
Puoi anche ottenere un valore da una cella e quindi assegnarlo a una variabile .
Ora nel codice sopra hai la variabile “i” che ha la data come tipo di dati . Nella seconda riga del codice, alla variabile viene assegnato il valore della cella A1.
3. Visualizza in un MsgBox
Ora immagina di voler visualizzare il valore della cella A1 utilizzando una finestra di messaggio . In questo caso il codice sarebbe come di seguito.
MsgBox Range("A1").Value
Nel codice precedente, la finestra di messaggio prenderà il valore dalla cella A1 e lo mostrerà all’utente.
Modifica il valore della cella
Puoi anche apportare modifiche al valore di una cella e qui ho condiviso alcuni esempi che possono aiutarti a capirlo.
1. Aggiungi un numero a un numero esistente
Diciamo che se vuoi aggiungere uno al numero che hai nella cella A1, puoi utilizzare il seguente codice.
Range("A1").Value = Range("A1").Value + 1
Il codice sopra assegna un valore alla cella A1 prendendo il valore della cella A1 stessa e aggiungendovi uno. Ma puoi anche usare VBA IF THEN ELSE per scrivere una condizione da modificare solo quando c’è un numero nella cella .
If IsNumeric(Range("A1").Value) Then Range("A1").Value = Range("A1").Value + 1 End If
2. Elimina il primo carattere dalla cella
Ora il codice seguente rimuove il primo carattere dal valore della cella e assegna il resto del valore alla cella.
Range("A1").Value = Right(Range("A1").Value, Len(Range("A1").Value) - 1)