Přejít k hlavnímu obsahu

Jak procházet řádky, dokud nejsou prázdné ve sloupci aplikace Excel?

Zde je dlouhý sloupec s údaji, který obsahuje některé prázdné buňky, a chcete procházet řádky, dokud nenarazíte na prázdnou buňku. V aplikaci Excel neexistuje žádná vestavěná funkce, která by tuto práci zvládla, ale mohu vám představit některá makra, která vám udělají laskavost.

Procházejte řádky, dokud nejsou prázdné, pomocí VBA


šipka modrá pravá bublina Procházejte řádky, dokud nejsou prázdné, pomocí VBA

1. lis Alt + F11 klávesy pro povolení Microsoft Visual Basic pro aplikace okno.

2. cvaknutí Vložit > Modula vložte níže uvedený kód do prázdného skriptu.

VBA: Smyčka do prázdna

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

smyčka doc do prázdné 1

V kódu je A1 první buňka, ze které chcete vytvořit smyčku, a můžete ji podle potřeby změnit.

3. lis F5 klávesu pro zahájení smyčkování sloupce, pak se kurzor zastaví na první splněné prázdné buňce.
smyčka doc do prázdné 2

Poznámka: Chcete-li procházet daty, dokud se nesetkáte s prázdnými buňkami, můžete použít tento kód 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

Poté musíte v buňce vybrat první buňku, ze které chcete vytvořit smyčku Kutools pro Excel dialog, klepněte na tlačítko OK, pak se kurzor zastaví v prvních souvislých prázdných buňkách.

smyčka doc do prázdné 3 smyčka doc do prázdné 4

Snadno kombinujte více listů / sešit do jednoho listu nebo sešitu

Kombinovat vícenásobné listy nebo sešity do jednoho listu nebo sešitu může být v aplikaci Excel náročné, ale s Kombinovat funkce v Kutools pro Excel, můžete kombinovat desítky listů / sešitů do jednoho listu nebo sešitu, také můžete sloučit listy do jednoho pouze několika kliknutími.  Kliknutím získáte 30denní bezplatnou zkušební verzi s plnou výbavou!
kombinovat listy
 
Kutools pro Excel: s více než 300 praktickými doplňky Excel, můžete vyzkoušet bez omezení za 30 dní.

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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