Μετάβαση στο κύριο περιεχόμενο

Πώς να μετακινηθείτε σε γραμμές μέχρι να είναι κενό στη στήλη Excel;

Εδώ είναι μια μεγάλη στήλη με δεδομένα που περιλαμβάνουν ορισμένα κενά κελιά και θέλετε να κάνετε βρόχο στις σειρές μέχρι να συναντήσετε κενό κελί. Στο Excel, δεν υπάρχει ενσωματωμένη δυνατότητα που μπορεί να χειριστεί αυτήν την εργασία, αλλά μπορώ να εισαγάγω μερικές μακροεντολές για να σας βοηθήσω.

Περάστε τις σειρές μέχρι να αδειάσει με VBA


βέλος μπλε δεξιά φούσκα Περάστε τις σειρές μέχρι να αδειάσει με VBA

1. Τύπος Alt + F11 πλήκτρα για να ενεργοποιήσετε το Microsoft Visual Basic για εφαρμογές παράθυρο.

2. κλικ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον παρακάτω κώδικα στο κενό σενάριο.

VBA: Βρόχος μέχρι κενό

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

βρόχος εγγράφου έως το κενό 1

Στον κώδικα, το A1 είναι το πρώτο κελί από το οποίο θέλετε να πραγματοποιήσετε βρόχο, μπορείτε να το αλλάξετε όπως χρειάζεστε.

3. Τύπος F5 κλειδί για να ξεκινήσετε να βάζετε βρόχο στη στήλη, τότε ο δρομέας θα σταματήσει στο κενό κελί που συναντήθηκε.
βρόχος εγγράφου έως το κενό 2

Note: Εάν θέλετε να πραγματοποιήσετε βρόχο στα δεδομένα έως ότου συναντήσετε συνεχή κενά κελιά, μπορείτε να χρησιμοποιήσετε αυτόν τον κώδικα μακροεντολής.

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

Στη συνέχεια, πρέπει να επιλέξετε το πρώτο κελί από το οποίο θέλετε να κάνετε βρόχο στο Kutools για Excel κάντε κλικ στο πλαίσιο διαλόγου OK, τότε ο δρομέας σταματά στα πρώτα συνεχόμενα κενά κελιά.

βρόχος εγγράφου έως το κενό 3 βρόχος εγγράφου έως το κενό 4

Συνδυάστε εύκολα πολλά φύλλα / βιβλίο εργασίας σε ένα φύλλο ή βιβλίο εργασίας

Ο συνδυασμός πολλαπλών φύλλων ή βιβλίων εργασίας σε ένα φύλλο ή βιβλίο εργασίας μπορεί να είναι περίεργος στο Excel, αλλά με το Συνδυασμός Λειτουργεί στο Kutools για Excel, μπορείτε να συνδυάσετε δεκάδες φύλλα / βιβλία εργασίας σε ένα φύλλο ή βιβλίο εργασίας, επίσης, μπορείτε να ενοποιήσετε τα φύλλα σε ένα με πολλά κλικ μόνο.  Κάντε κλικ για δωρεάν δοκιμή 30 ημερών με πλήρεις δυνατότητες!
συνδυάστε φύλλα
 
Kutools για Excel: με περισσότερα από 300 εύχρηστα πρόσθετα Excel, δωρεάν δοκιμή χωρίς περιορισμό σε 30 ημέρες.

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

🤖 Kutools AI Aide: Επανάσταση στην ανάλυση δεδομένων με βάση: Ευφυής Εκτέλεση   |  Δημιουργία κώδικα  |  Δημιουργία προσαρμοσμένων τύπων  |  Αναλύστε δεδομένα και δημιουργήστε γραφήματα  |  Επίκληση Λειτουργιών Kutools...
Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

Περιγραφή


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
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