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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *