• 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

Object Storage Arubacloud
0 głosów
1,883 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ź 921 wizyt
+1 głos
1 odpowiedź 374 wizyt
pytanie zadane 25 września 2020 w Visual Basic przez doeg Początkujący (430 p.)
0 głosów
0 odpowiedzi 1,138 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy 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!

...