Przejdź do głównej zawartości

Jak przechodzić przez wiersze, aż w kolumnie programu Excel będą puste?

Oto długa kolumna z danymi, która zawiera kilka pustych komórek i chcesz zapętlić wiersze, aż spotkasz pustą komórkę. W programie Excel nie ma wbudowanej funkcji, która może obsłużyć to zadanie, ale mogę wprowadzić kilka makr, aby wyświadczyć ci przysługę.

Zapętlaj wiersze, aż będą puste za pomocą VBA


strzałka niebieski prawy bąbelek Zapętlaj wiersze, aż będą puste za pomocą VBA

1. naciśnij Alt + F11 klawisze, aby włączyć Microsoft Visual Basic for Applications okno.

2. kliknij wstawka > Modułi wklej poniższy kod do pustego skryptu.

VBA: zapętlaj, aż będzie pusty

Sub Test1()
'UpdatebyExtendoffice20161222
      Dim x As Integer
      Application.ScreenUpdating = False
      ' Set numrows = number of rows of data.
      NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
      ' Select cell a1.
      Range("A1").Select
      ' Establish "For" loop to loop "numrows" number of times.
      For x = 1 To NumRows
         ' Insert your code here.
         ' Selects cell down 1 row from active cell.
         ActiveCell.Offset(1, 0).Select
      Next
      Application.ScreenUpdating = True
End Sub

pętla doc aż do pustej wartości 1

W kodzie A1 jest pierwszą komórką, z której chcesz wykonać pętlę, możesz ją zmienić w razie potrzeby.

3. naciśnij F5 aby rozpocząć zapętlanie kolumny, kursor zatrzyma się na pierwszej napotkanej pustej komórce.
pętla doc aż do pustej wartości 2

Note: Jeśli chcesz przeglądać dane, aż napotkasz ciągłe puste komórki, możesz użyć tego kodu makra.

Sub LoopThroughUntilBlanks()
'UpdatebyExtendoffice20161222
      ' Select cell A2, *first line of data*.
      Dim xrg As Range
      On Error Resume Next
      Set xrg = Application.InputBox _
        (Prompt:="first cell select..", Title:="Kutools for Excel", Type:=8)
      xrg.Cells(1, 1).Select
      ' Set Do loop to stop when two consecutive empty cells are reached.
      Application.ScreenUpdating = False
      Do Until IsEmpty(ActiveCell) And IsEmpty(ActiveCell.Offset(1, 0))
         ' Insert your code here.
         '
         ' Step down 2 rows from present location.
         ActiveCell.Offset(2, 0).Select
      Loop
      Application.ScreenUpdating = False
End Sub

Następnie musisz wybrać pierwszą komórkę, z której chcesz wykonać pętlę w pliku Kutools dla programu Excel dialog, kliknij OK, kursor zatrzymuje się w pierwszych ciągłych pustych komórkach.

pętla doc aż do pustej wartości 3 pętla doc aż do pustej wartości 4

Łatwe łączenie wielu arkuszy / skoroszytów w jeden pojedynczy arkusz lub skoroszyt

Łączenie wielu arkuszy lub skoroszytów w jeden arkusz lub skoroszyt może być skomplikowane w programie Excel, ale z rozszerzeniem Połączyć funkcja w Kutools for Excel, możesz łączyć dziesiątki arkuszy / skoroszytów w jeden arkusz lub skoroszyt, a także możesz skonsolidować arkusze w jeden tylko kilkoma kliknięciami.  Kliknij, aby uzyskać pełny, 30-dniowy bezpłatny okres próbny!
połącz arkusze
 
Kutools dla programu Excel: z ponad 300 poręcznymi dodatkami do Excela, możesz wypróbować bez ograniczeń w 30 dniach.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
The first VBA produces the wrong result in cases when there is one or zero rows of data.

You probably need something like

If Range("A1").Value = "" Then
NumRows = 0
ElseIf Range("A1").Offset(1, 0).Value = "" Then
NumRows = 1
Else
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
End If
This comment was minimized by the moderator on the site
The loop works for me except it loops through every single row regardless of it being blank or not.
This comment was minimized by the moderator on the site
Lets say I have a ton of rows...any tricks on making this run faster?
This comment was minimized by the moderator on the site
Can you please explain what is the condition to stop looping? What makes you break out of the loop in Test1()?
This comment was minimized by the moderator on the site
It will stop while meeting the first blank in the column
This comment was minimized by the moderator on the site
Its looping a column not a row
This comment was minimized by the moderator on the site
In order to loop through a column, you must go by row number.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations