GWARANTOWANE TERMINY
Jesteś tutaj: strona głównastrefa wiedzyUzupełnianie pustych komórek w Excelu
MENU

Uzupełnianie pustych komórek w Excelu


Kategoria: Kurs VBA, Kurs Excel, Samouczek Excel
4Jun

W pracy z dużą ilością danych możemy spotkać się z sytuacją, w której nie wszystkie komórki w arkuszu kalkulacyjnym są uzupełnione. Aby wypełnić komórki danymi wziętymi z komórki powyżej możemy skorzystać z kodu VBA. 

 

Zapraszamy do zapoznania się z artykułem, który pokaże jak za pomocą VBA uzupełnić brakujące dane w komórkach. 

 

Cognity makro wypełnianie komórek

Rys. 1.  Puste komórki w kolumnie A

 

 

Uzupełnianie pustych komórek Excel  

 

Celem zadania jest uzupełnić pustą komórkę, pobierając wartość komórki nadrzędnej.

 O ile obrany przez nas cel jest względnie prosty, o tyle przetłumaczenie go na język VBA może takie nie być. 

Przed rozwiązaniem naszego zadania warto uświadomić sobie czynności (nawet te oczywiste), które będziemy musieli wykonać. 

Na początku musimy pobrać pierwszą komórkę. Następnym krokiem będzie sprawdzenie, czy komórka jest pusta – jeśli okaże się , że nie to będziemy musieli przejść do kolejnej komórki. Natomiast jeśli komórka jest pusta to naszym zdaniem będzie pobranie wartości komórki, która jest nad nią. 

Przed pobraniem komórki należy najpierw określić długość i szerokość zaznaczenia oraz współrzędne komórki, która jest na górze po lewej stronie. Aby zrealizować to zadanie, wystarczy odwołać się do właściwości obiektu Selection, deklarując następujące zmienne:

 

Dim ilosc_wierszy_zaznaczenie, _  

ilosc_kolumn_zaznaczenie, _   

wiersz_komorki, _   

kolumna_komorki As Long

 

Następnie zmiennym tym musimy przypisać wartości: 

 

ilosc_wierszy_zaznaczenie = Selection.Rows.Count

ilosc_kolumn_zaznaczenie = Selection.Columns.Count

wiersz_komorki = Selection.Row

kolumna_komorki = Selection.Column

 

Mając odpowiednie dane można przystąpić do uzupełnienia pustych komórek. Czynność przechodzenia przez wiersze oraz kolumny można zrealizować wykorzystując pętle, natomiast przy pomocy instrukcji warunkowej If będzie można sprawdzić które komórki są puste:

 

For i = wiersz_komorki To ilosc_wierszy_zaznaczenie +wiersz_komorki - 1       

For j = kolumna_komorki To ilosc_kolumn_zaznaczenie + kolumna_komorki - 1           

If Cells(i, j) = vbNullString Then               

   Cells(i, j) = Cells(i - 1, j)           

End If       

Next   

Next

 

Zadanie z pozoru jest dobrze rozwiązane, jednak kod zwróci komunikat błędu wtedy, gdy zaznaczona pierwsza komórka będzie pusta i będzie znajdować się w pierwszym wierszu, dlatego należy uwzględnić to w kodzie:

 

For i = wiersz_komorki To ilosc_wierszy_zaznaczenie + wiersz_komorki - 1       

For j = kolumna_komorki To ilosc_kolumn_zaznaczenie + kolumna_komorki - 1           

If Cells(i, j) = vbNullString And i > 1 Then               

   Cells(i, j) = Cells(i - 1, j)           

End If       

Next   

Next

 

Po napisaniu kodu należy pamiętać, aby go przetestować.

 

Jeżeli zainteresował Cię temat uzupełniania pustych komórek Excela z pomocą kodu VBA, to zapraszamy Cię na kurs VBA w Excelu Przekrojowy. Dowiesz się tam więcej o pisaniu kodu w VBA.

uzupełnianie pustych wierszy - kod VBA

 

Sub uzupelnij_puste_komorki()

Dim ilosc_wierszy_zaznaczenie, ilosc_kolumn_zaznaczenie, wiersz_komorki, kolumna_komorki As Long

ilosc_wierszy_zaznaczenie = Selection.Rows.Count

ilosc_kolumn_zaznaczenie = Selection.Columns.Count

wiersz_komorki = Selection.Row

kolumna_komorki = Selection.Column

For i = wiersz_komorki To ilosc_wierszy_zaznaczenie + wiersz_komorki - 1

For j = kolumna_komorki To ilosc_kolumn_zaznaczenie + kolumna_komorki - 1

If Cells(i, j) = vbNullString And i > 1 Then               

   Cells(i, j) = Cells(i - 1, j)

End If       

Next   

Next

End Sub

 

Autorem artykułu jest Grzegorz Plak, trener Cognity.

 

Artykuły powiązane:

 

 

 

 

Licencja Creative Commons
VBA samouczek - makro uzupełniające puste komórki w arkuszu MS Excel by Cognity is licensed under a Creative Commons Uznanie autorstwa-Użycie niekomercyjne 4.0 Międzynarodowe License.

Wybrani Klienci:

Ten serwis używa plików cookies. Brak zmiany ustawień przeglądarki oznacza zgodę na ich używanie.
Więcej informacji o plikach cookies znajdziesz tutaj
Kliknij ZGADZAM SIĘ, aby ta informacja nie wyświetlała się ponownie
Cognity.pl