• 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,874 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ź 915 wizyt
+1 głos
1 odpowiedź 359 wizyt
pytanie zadane 25 września 2020 w Visual Basic przez doeg Początkujący (430 p.)
0 głosów
0 odpowiedzi 1,085 wizyt

92,454 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...