Vba: jak wypełnić puste komórki wartością powyżej


Często możesz chcieć użyć VBA do wypełnienia pustych komórek w arkuszu Excel wartościami komórek bezpośrednio nad nimi.

Aby to zrobić, możesz użyć następującej podstawowej składni:

 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

Ten konkretny przykład wypełni wszystkie puste komórki, od komórki A2 przez kolumnę B do ostatniego wiersza zawierającego wartość w kolumnie C.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Użyj VBA, aby wypełnić puste komórki powyższą wartością

Załóżmy, że mamy w Excelu następujący zestaw danych, który pokazuje punkty zdobyte w różnych meczach przez różnych koszykarzy:

Załóżmy, że chcemy wypełnić puste komórki w kolumnach A i B wartościami komórek nad nimi.

W tym celu możemy utworzyć następujące makro:

 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

Kiedy uruchomimy to makro, otrzymamy następujące dane wyjściowe:

Zwróć uwagę, że wszystkie puste komórki w kolumnach Zespół i Gracz zostały wypełnione odpowiednią wartością z komórek nad nimi.

Uwaga : użyliśmy xlBlanks do zidentyfikowania pustych komórek w zakresie, a następnie użyliśmy =R[-1]C do wypełnienia pustych wartości wartością komórki znajdującej się jeden wiersz powyżej.

Efektem końcowym jest to, że udało nam się wypełnić wszystkie puste komórki wartością komórek nad nimi.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:

VBA: Jak sprawdzić, czy komórka jest pusta
VBA: Jak używać „Jeśli nie jest pusty”
VBA: Jak liczyć komórki zawierające określony tekst

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *