Vba: come riempire le celle vuote con un valore sopra
Spesso potresti voler utilizzare VBA per riempire le celle vuote in un foglio Excel con i valori delle celle direttamente sopra di esse.
Per fare ciò, è possibile utilizzare la seguente sintassi di base:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
Questo particolare esempio riempirà tutte le celle vuote, dalla cella A2 alla colonna B fino all’ultima riga contenente un valore nella colonna C.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: utilizzare VBA per riempire le celle vuote con il valore sopra
Supponiamo di avere il seguente set di dati in Excel che mostra i punti segnati in varie partite da diversi giocatori di basket:
Supponiamo di voler riempire le celle vuote delle colonne A e B con i valori delle celle sopra di esse.
Per fare ciò possiamo creare la seguente macro:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
Quando eseguiamo questa macro, riceviamo il seguente output:
Tieni presente che tutte le celle vuote nelle colonne Squadra e Giocatore sono state riempite con il valore appropriato delle celle sopra di esse.
Nota : abbiamo utilizzato xlBlanks per identificare le celle vuote nell’intervallo, quindi abbiamo utilizzato =R[-1]C per riempire gli spazi vuoti con il valore della cella una riga sopra.
Il risultato finale è che siamo riusciti a riempire tutte le celle vuote con il valore delle celle sopra di esse.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come verificare se la cella è vuota
VBA: come utilizzare “Se non vuoto”
VBA: come contare le celle con testo specifico