Skip to content

Vba excel leggere contenuto cella

Excel vba celle valore testo

Quando si lavora con VBA (macro) in Excel, spesso è necessario verificare o controllare il contenuto delle celle. La cella è vuota, è un numero, un testo (stringa), una formula, un errore, una data, oppure ha un commento o una formattazione condizionale?

Di seguito sono riportati alcuni esempi. Se contrassegnate il codice con il mouse, potete copiarlo (CTRL+C) e incollarlo (CTRL+V) in un modulo VBA. Gli esempi utilizzano la cella A1 del foglio attivo, ma è possibile utilizzare qualsiasi cella o intervallo più ampio.

Negli esempi precedenti ho scritto più volte “rCell.Value”. A rigore non è necessario, perché “Valore” è la proprietà predefinita di una cella, quindi avrei potuto ottenere lo stesso risultato scrivendo semplicemente “rCella”.

Excel vba ottenere la cella corrente

Excel è estremamente potente anche utilizzando solo la funzionalità di base di aggiunta di dati alle celle e ai fogli di calcolo, di ordinamento e di coltivazione di tali dati in una splendida opera di piacere cellulare. Tuttavia, Excel è in grado di fare molto di più di quanto non permetta la modifica standard del contenuto delle celle, grazie alla magia degli script di Visual Basic for Applications, o VBA.

  Excel copiare contenuto cella su altro foglio

Per iniziare, è necessario individuare l’editor Visual Basic in Excel. L’individuazione dipende dalla versione di Excel in uso, ma per la maggior parte delle versioni moderne l’Editor Visual Basic si trova nella scheda Sviluppatore della barra dei menu.

Per iniziare il nostro script, quindi, dobbiamo selezionare il foglio di lavoro appropriato denominato Vendite e poi, utilizzando l’oggetto selezionato, restringere la selezione prendendo le celle specifiche (note come intervallo di celle) che vogliamo totalizzare.

Ma questo non è il passo finale. Nel nostro esempio, vogliamo estrarre la somma totale dal foglio di lavoro Vendite e inserire il valore totale nella cella corrente selezionata durante l’esecuzione della macro.

Excel vba inserire valore in cella

Il pezzo di codice tra le parole chiave If e Then è chiamato condizione. Una condizione è un’affermazione che valuta il valore vero o falso. Vengono utilizzate soprattutto con i cicli e le istruzioni If. Quando si crea una condizione si utilizzano segni come >,<,<>,>=,<=,=.

Per evitare questo tipo di problemi è opportuno utilizzare due condizioni. Queste aiutano a dichiarare esattamente ciò che si sta cercando e a eliminare ogni confusione. L’esempio seguente mostra come utilizzarle. Nella sezione seguente verranno analizzate altre condizioni multiple.

  Foglio excel calcolo parcella ingegneri

L’istruzione Else di VBA è utilizzata come condizione di recupero. In pratica significa “se nessuna condizione è vera” o “tutto il resto”. Nell’esempio di codice precedente, non è stata inclusa un’istruzione di stampa per un errore. Possiamo aggiungerla utilizzando Else.

In VBA esiste l’istruzione IIf che funziona allo stesso modo. Vediamo un esempio. Nel codice seguente utilizziamo IIf per controllare il valore della variabile val. Se il valore è maggiore di 10, stampiamo true altrimenti stampiamo false:

È anche possibile annidare le istruzioni IIf come in Excel. Ciò significa utilizzare il risultato di una IIf con un’altra. Aggiungiamo un altro tipo di risultato agli esempi precedenti. Ora vogliamo stampare Distinzione, Passaggio o Bocciatura per ogni studente.

Vba ottenere il valore della cella da un’altra cartella di lavoro

Accedere all’Editor VBA (Alt + F11) e fare doppio clic sul nome del foglio di lavoro che contiene la cella da modificare oppure fare semplicemente clic con il pulsante destro del mouse sulla scheda del foglio di lavoro e fare clic su Visualizza codice. Nella finestra che si apre, selezionate Foglio di lavoro dal menu a discesa di sinistra e Cambia dal menu a discesa di destra. Ora si dovrebbe vedere questo:

  Recuperare file excel cancellati dal cestino

Excel eseguirà il codice inserito ogni volta che viene modificata una cella del foglio di lavoro, indipendentemente dalla cella modificata. Per questo motivo, dobbiamo assicurarci che la cella che vogliamo controllare sia quella che l’utente sta modificando. Per farlo, utilizziamo un’istruzione IF e, in questo esempio, Target.Address.

$A$1 si riferisce alla cella A1 e i segni del dollaro sono solo un altro modo per fare riferimento a una cella utilizzando un cosiddetto riferimento assoluto. Quando si utilizza questo metodo, è sempre necessario includere i segni del dollaro nel riferimento alla cella.

Come si può vedere, è molto semplice sapere quale cella è stata modificata e quale sia il nuovo valore di quella cella. Anche se semplice, questo metodo consente di creare fogli di lavoro e cartelle di lavoro interattivi che si aggiornano e funzionano automaticamente senza che l’utente debba fare clic su un pulsante o utilizzare scorciatoie da tastiera per eseguire una macro.