Note: The other languages of the website are Google-translated. Back to English
Đăng nhập  \/ 
x
or
x
Đăng ký  \/ 
x

or

Làm thế nào để lặp qua các hàng cho đến khi trống trong cột Excel?

Đây là một cột dài với dữ liệu bao gồm một số ô trống và bạn muốn lặp qua các hàng cho đến khi gặp ô trống. Trong Excel, không có tính năng tích hợp nào có thể xử lý công việc này, nhưng tôi có thể giới thiệu một số macro để giúp bạn.

Lặp qua các hàng cho đến khi trống với VBA


mũi tên màu xanh bong bóng bên phải Lặp qua các hàng cho đến khi trống với VBA

1. nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. nhấp chuột Chèn > Mô-đunvà dán mã bên dưới vào tập lệnh trống.

VBA: Vòng lặp cho đến khi trống

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 vòng lặp cho đến khi trống 1

Trong mã, A1 là ô đầu tiên bạn muốn lặp lại, bạn có thể thay đổi nó khi cần.

3. nhấn F5 để bắt đầu lặp lại cột, sau đó con trỏ sẽ dừng lại ở ô trống gặp đầu tiên.
doc vòng lặp cho đến khi trống 2

Chú thích: Nếu bạn muốn lặp lại dữ liệu cho đến khi gặp các ô trống liên tục, bạn có thể sử dụng mã macro này.

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

Sau đó, bạn cần chọn ô đầu tiên bạn muốn lặp lại trong Kutools cho Excel thoại, bấm OK, sau đó con trỏ dừng trong các ô trống liên tục đầu tiên.

doc vòng lặp cho đến khi trống 3 doc vòng lặp cho đến khi trống 4

Dễ dàng kết hợp nhiều trang tính / Sổ làm việc thành một Trang tính hoặc Sổ làm việc

Để kết hợp nhiều trang tính hoặc sổ làm việc thành một trang tính hoặc sổ làm việc có thể khó khăn trong Excel, nhưng với Kết hợp trong Kutools cho Excel, bạn có thể kết hợp hợp nhất hàng chục trang tính / sổ làm việc thành một trang tính hoặc sổ làm việc, ngoài ra, bạn có thể hợp nhất các trang tính thành một chỉ bằng vài cú nhấp chuột.  Nhấp để dùng thử miễn phí 30 ngày đầy đủ tính năng!
kết hợp các tấm
 
Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày.

Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Super Formula Bar (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2019 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ các tính năng dùng thử miễn phí 30 ngày. Đảm bảo hoàn tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Robert · 2 years ago
    The loop works for me except it loops through every single row regardless of it being blank or not.
  • To post as a guest, your comment is unpublished.
    Shane · 3 years ago
    Lets say I have a ton of rows...any tricks on making this run faster?
  • To post as a guest, your comment is unpublished.
    Marija · 3 years ago
    Can you please explain what is the condition to stop looping? What makes you break out of the loop in Test1()?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      It will stop while meeting the first blank in the column
  • To post as a guest, your comment is unpublished.
    J · 3 years ago
    Its looping a column not a row
    • To post as a guest, your comment is unpublished.
      SomeGuest · 3 years ago
      In order to loop through a column, you must go by row number.