Note: The other languages of the website are Google-translated. Back to English

Hur går jag igenom rader tills det är tomt i Excel-kolumnen?

Här är en lång kolumn med data som innehåller några tomma celler, och du vill slinga genom raderna tills du möter den tomma cellen. I Excel finns det ingen inbyggd funktion som kan hantera det här jobbet, men jag kan introducera några makron för att göra dig en tjänst.

Slinga igenom rader tills de är tomma med VBA


pil blå höger bubbla Slinga igenom rader tills de är tomma med VBA

1. Tryck Alt + F11 för att aktivera Microsoft Visual Basic för applikationer fönster.

2. klick Insert > Modulernaoch klistra in under koden i det tomma skriptet.

VBA: Slinga tills den är tom

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

doc loop tills tom 1

I koden är A1 den första cellen du vill slinga från, du kan ändra den efter behov.

3. Tryck F5 för att börja loopa kolumnen, då stannar markören vid den första tomma metoden.
doc loop tills tom 2

Anmärkningar: Om du vill slinga igenom data tills du möter kontinuerliga tomma celler kan du använda denna makrokod.

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

Sedan måste du välja den första cellen du vill slinga från i Kutools för Excel dialog, klicka OK, sedan stannar markören i de första kontinuerliga tomma cellerna.

doc loop tills tom 3 doc loop tills tom 4

Kombinera enkelt flera ark / arbetsbok i ett ark eller arbetsbok

Att kombinera flera ark eller arbetsböcker till ett ark eller arbetsbok kan vara snedigt i Excel, men med Kombinera funktion i Kutools för Excel, du kan kombinera sammanfoga dussintals ark / arbetsböcker till ett ark eller arbetsbok, du kan också konsolidera arken i ett med flera klick.  Klicka för fullfjädrad 30 dagars gratis provperiod!
kombinera lakan
 
Kutools för Excel: med mer än 300 praktiska Excel-tillägg, gratis att prova utan begränsningar i 30 dagar.

De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (7)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Dess loopar en kolumn inte en rad
Denna kommentar minimerades av moderatoren på webbplatsen
För att gå igenom en kolumn måste du gå efter radnummer.
Denna kommentar minimerades av moderatoren på webbplatsen
Kan du förklara vad som är villkoret för att sluta loopa? Vad får dig att bryta dig ur loopen i Test1()?
Denna kommentar minimerades av moderatoren på webbplatsen
Den kommer att stoppa när den möter den första tomma i kolumnen
Denna kommentar minimerades av moderatoren på webbplatsen
Låt oss säga att jag har massor av rader...några knep för att få det här att springa snabbare?
Denna kommentar minimerades av moderatoren på webbplatsen
Slingan fungerar för mig förutom att den går igenom varenda rad oavsett om den är tom eller inte.
Denna kommentar minimerades av moderatoren på webbplatsen
Den första VBA ger fel resultat i fall då det finns en eller noll rader med data.

Du behöver förmodligen något liknande

If Range("A1").Value = "" Då
Antal rader = 0
ElseIf Range("A1").Offset(1, 0).Value = "" Då
Antal rader = 1
annars
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
End If
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL