• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

VBA makro - usuwanie pustych wierszy we wszystkich arkuszach

VPS Starter Arubacloud
0 głosów
1,996 wizyt
pytanie zadane 10 maja 2017 w Visual Basic przez karolina.n28 Nowicjusz (240 p.)

Witam, 

Napisałam makro, które usuwa wiersze, jeżeli w kolumnie A komórka jest pusta, a sprawdza od dołu po kolumnie C. Chciałabym, żeby działało od razu we wszystkich arkuszach, ale niestety tego jeszcze za bardzo nie umiem. Proszę o pomoc. 

Sub empty_rows()

   For i = Cells(Rows.Count, "c").End(xlUp).Row To 5 Step -1
    If Cells(i, "A").Value = "" Then
    Rows(i).Delete shift:=xlUp
    End If

Next

End Sub

 

2 odpowiedzi

0 głosów
odpowiedź 11 maja 2017 przez Czachuu Obywatel (1,160 p.)
wybrane 11 maja 2017 przez karolina.n28
 
Najlepsza

Witam,

można to zrobić w podobny sposób jak z Twojego ostatniego posta dotyczącego usuwania daty, tylko trzeba przyjąć puste kryteria w autofiltrze:

Sub empty_rows()
Dim MySheet As Worksheet, MyRange As Range
Dim LastRow As Long, LastCol As Long
  

Application.DisplayAlerts = False
Application.ScreenUpdating = False
For Each MySheet In ActiveWorkbook.Worksheets
    With MySheet
        LastRow = .Range("C" & .Rows.Count).End(xlUp).Row
        Set MyRange = .Range("A4:Q" & LastRow)
    End With

    With MyRange
        .AutoFilter Field:=1, Criteria1:="="
        .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete ' jesli w wierszu 4 sa naglowki
    End With

    With MySheet
        .AutoFilterMode = False
        If .FilterMode = True Then
            .ShowAllData
        End If
    End With
Next

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Polecam rejestrator makr, można się wiele nauczyć.

Pozdrawiam

komentarz 11 maja 2017 przez karolina.n28 Nowicjusz (240 p.)
Tak zrobię, bardzo dziękuję!
0 głosów
odpowiedź 10 maja 2017 przez karolina.n28 Nowicjusz (240 p.)
Lub może w jakiś inny sposób można to zrobić, bo to bardzo powoli działa nawet na jednym arkuszu. Chodzi o to, że danych w kolumnach od C do Q jest więcej, a chcę, żeby ich było tyle, ile w kolumnie A. Niekoniecznie trzeba usuwać wiersze, można też wyczyścić te wiersze. Ktoś ma jakiś pomysł? :)

Podobne pytania

0 głosów
1 odpowiedź 963 wizyt
+1 głos
1 odpowiedź 415 wizyt
pytanie zadane 25 września 2020 w Visual Basic przez doeg Początkujący (430 p.)
0 głosów
0 odpowiedzi 1,280 wizyt

92,977 zapytań

141,940 odpowiedzi

321,182 komentarzy

62,303 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...