Bỏ qua nội dung chính

Làm cách nào để chèn các hàng trống khi giá trị thay đổi trong Excel?

Giả sử bạn có một dải dữ liệu và bây giờ bạn muốn chèn các hàng trống vào giữa dữ liệu khi giá trị thay đổi, để bạn có thể tách các giá trị tương tự tuần tự trong một cột như ảnh chụp màn hình sau được hiển thị. Trong bài viết này, tôi sẽ nói về một số thủ thuật để bạn giải quyết vấn đề này.

Chèn các hàng trống khi giá trị thay đổi bằng hàm Tổng phụ

Chèn các hàng trống khi giá trị thay đổi với các cột trợ giúp

Chèn các hàng trống khi giá trị thay đổi với mã VBA

Chèn số hàng trống cụ thể khi giá trị thay đổi bằng một tính năng mạnh mẽ


Chèn các hàng trống khi giá trị thay đổi bằng hàm Tổng phụ

Với Subtotal , bạn có thể chèn các hàng trống vào giữa dữ liệu khi giá trị thay đổi theo các bước sau:

1. Chọn phạm vi dữ liệu mà bạn muốn sử dụng.

2. Nhấp chuột Ngày > Subtotal để mở Subtotal hộp thoại và trong Subtotal , vui lòng thực hiện các tùy chọn sau:

1: Chọn tên cột mà bạn muốn chèn các hàng trống dựa trên thời điểm giá trị thay đổi trong Ở mỗi lần thay đổi trong phần;
2: Chọn Đếm từ sử dụng chức năng danh sách thả xuống;
3: Kiểm tra tên cột mà bạn muốn chèn tổng phụ vào Thêm tổng phụ vào hộp danh sách

3. Sau đó nhấn vào OK, các dòng tổng phụ đã được chèn giữa các sản phẩm khác nhau và các ký hiệu phác thảo được hiển thị ở bên trái của bảng, xem ảnh chụp màn hình:

4. Và sau đó nhấp vào số 2 ở trên cùng của biểu tượng phác thảo để chỉ hiển thị các dòng tổng phụ.

5. Sau đó, chọn dữ liệu phạm vi tổng phụ và nhấn Alt +; phím tắt để chỉ chọn các hàng hiển thị, xem ảnh chụp màn hình:

6. Sau khi chỉ chọn các hàng hiển thị, hãy nhấn Xóa bỏ trên bàn phím và tất cả các hàng tổng phụ đã bị xóa.

7. Sau đó nhấp vào bất kỳ ô nào khác và quay lại Ngày > > Đường viền rõ ràng để xóa Đường viền, hãy xem ảnh chụp màn hình:

8. Các ký hiệu phác thảo đã được xóa ngay lập tức và bạn có thể thấy các hàng trống đã được chèn vào giữa dữ liệu khi giá trị thay đổi, xem ảnh chụp màn hình:

9. Cuối cùng, bạn có thể xóa cột A khi cần.


Chèn ngắt trang, hàng trống, đường viền dưới cùng hoặc tô màu khi giá trị thay đổi nhanh chóng

Nếu bạn có Kutools cho Excel's Phân biệt sự khác biệt tính năng, bạn có thể nhanh chóng chèn ngắt trang, hàng trống, đường viền dưới cùng hoặc tô màu khi giá trị thay đổi khi bạn cần. Xem bản demo dưới đây.         Nhấp để tải xuống Kutools cho Excel!


Chèn các hàng trống khi giá trị thay đổi với các cột trợ giúp

Với các cột trợ giúp, bạn có thể chèn công thức trước, sau đó áp dụng Tìm và Thay thế cuối cùng, chèn các hàng trống giữa các giá trị thay đổi. Vui lòng làm như sau:

1. Trong ô trống C3, vui lòng nhập công thức này = A3 = A2và trong ô D4, hãy nhập công thức này = A4 = A3, xem ảnh chụp màn hình:

2. Sau đó, chọn C3: D4 và kéo chốt điền vào phạm vi mà bạn muốn áp dụng các công thức của đề tài, và bạn sẽ nhận được Thật or Sai trong các ô, xem ảnh chụp màn hình:

3. Và sau đó nhấn Ctrl + F phím để mở Tìm và Thay thế , trong hộp thoại bật ra, hãy nhập KHÔNG ĐÚNG vào Tìm hộp văn bản dưới Tìm kiếm và nhấp vào Các lựa chọn để mở rộng hộp thoại này và chọn Các giá trị từ Nhìn vào danh sách thả xuống, xem ảnh chụp màn hình:

4. Nhấp chuột Tìm tất cả và sau đó nhấn Ctrl + A để chọn tất cả các kết quả tìm kiếm, tất cả các ô FALSE đã được chọn cùng một lúc, xem ảnh chụp màn hình:

6. Đóng Tìm và Thay thế hộp thoại, bước tiếp theo, bạn có thể chèn các hàng trống bằng cách nhấp vào Trang Chủ > Chèn > Chèn hàng trang tínhvà các hàng trống đã được chèn vào dữ liệu khi giá trị thay đổi dựa trên cột A, hãy xem ảnh chụp màn hình:

7. Cuối cùng, bạn có thể xóa cột trợ giúp C và D khi cần.


Chèn các hàng trống khi giá trị thay đổi với mã VBA

Nếu bạn cảm thấy mệt mỏi với việc sử dụng các phương pháp trên, đây là một đoạn mã cũng có thể giúp bạn chèn các hàng trống giữa các giá trị đã thay đổi cùng một lúc.

1. Giữ ALT + F11 phím để mở Cửa sổ Microsoft Visual Basic for Applications.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Cửa sổ mô-đun.

Mã VBA: Chèn các hàng trống khi giá trị thay đổi

Sub InsertRowsAtValueChange()
'Update by Extendoffice
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
    If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
        WorkRng.Cells(i, 1).EntireRow.Insert
    End If
Next
Application.ScreenUpdating = True
End Sub

3. Sau đó nhấn F5 để chạy mã này và một hộp nhắc sẽ bật ra cho phép bạn chọn một dữ liệu cột mà bạn muốn chèn các hàng trống khi giá trị thay đổi mà bạn dựa vào, xem ảnh chụp màn hình:

4. Và sau đó nhấp vào OK, các hàng trống đã được chèn vào giữa dữ liệu khi giá trị thay đổi dựa trên cột A.


Chèn số hàng trống cụ thể khi giá trị thay đổi bằng một tính năng mạnh mẽ

Nếu bạn đang thử với các phương pháp rắc rối ở trên, ở đây, tôi sẽ giới thiệu một công cụ hữu ích, Kutools cho Excel's Phân biệt sự khác biệt có thể giúp bạn chèn ngắt trang, hàng trống, đường viền dưới cùng hoặc tô màu khi giá trị ô thay đổi nhanh chóng và dễ dàng.

Lời khuyên:Để áp dụng điều này Phân biệt sự khác biệt , trước tiên, bạn nên tải xuống Kutools cho Excel, và sau đó áp dụng tính năng một cách nhanh chóng và dễ dàng.

Sau khi cài đặt Kutools cho Excel, hãy làm như sau:

1. Nhấp chuột Kutools > Định dạng > Phân biệt sự khác biệt, xem ảnh chụp màn hình:

2. Trong Phân biệt sự khác biệt theo cột chính hộp thoại, vui lòng thực hiện các thao tác sau:

  • Chọn phạm vi dữ liệu mà bạn muốn sử dụng, sau đó chọn cột chính mà bạn muốn chèn các hàng trống dựa trên;
  • Sau đó kiểm tra Hàng trống tùy chọn từ Các lựa chọn và nhập số hàng trống mà bạn muốn chèn.

3. Sau đó nhấn vào Ok và số hàng trống cụ thể đã được chèn vào dữ liệu nếu giá trị ô thay đổi, hãy xem ảnh chụp màn hình:

Nhấp để Tải xuống Kutools cho Excel và dùng thử miễn phí ngay!

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

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


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!
Comments (16)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, Hassan,

This vba is amazing, whereas I need one more alternate code for insert single blank row after changes in sequencing numbers. Example:- In column having number series like 1, 2, 3, 5, 6, 9 & etc...
Need to add single blank row between 3 & 5 as well as 6 & 9.
Please can you with this.
This comment was minimized by the moderator on the site
Can the VBA method be adapted to ignore blank cells? I have a file which I need to insert rows in based on two different columns but when I run the macro on the second column I end up with three blank lines where the first macro run inserted rows.
Or can it run on two columns at the same time?
This comment was minimized by the moderator on the site
Hello,
Is very usefull in case i need to insert 1 row, but if i need to insert 145 rows in every time the data change in spwcific column, how can i do it??
This comment was minimized by the moderator on the site
Hi, Hassan,
To insert multiple blank rows when value changes in a specific column, you should apply the following VBA code:

Note: In the below code, you should change the number 99 to your need, for example, when you insert 145 blank rows, you should change the number 99 to 144. Please try it, hope it can help you!

Sub InsertRowsAtValueChange()
Dim Rng As Range
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 2 Step -1
If WorkRng.Cells(i, 1).Value <> WorkRng.Cells(i - 1, 1).Value Then
Range(WorkRng.Cells(i, 1).EntireRow, WorkRng.Cells(i + 99, 1).EntireRow).Insert
End If
Next
Application.ScreenUpdating = True
End Sub
This comment was minimized by the moderator on the site
Very helpful. The code that skyyang shows above worked perfectly. Just make sure that the data doesn't already have spaces in it.

I don't understand VBA, but I believe if you wanted to add more rows underneath data that already had the spacing, there should be a way to ignore spaces.

Could a line be added to ignore or skip over blank lines? That might make this code more universal and repeatable if needed. Also a delete function that is similar to this may be useful so undo isn't necessary.
This comment was minimized by the moderator on the site
RE: insert blank rows when value changes with vba code
Is there a way that I can save the Range & not have to pick it every time I run it?
This comment was minimized by the moderator on the site
The VBA code worked 1st time and did exactly what I was trying to do. Thank you so much!
This comment was minimized by the moderator on the site
I've been using my own solution for some time.
1. Insert a helper column into Column A
2. In A2, type "if(B2=B1,A1,A1+1)"
3. Copy that formula down to the last row
4. Copy all the populated cells in column A and Paste Special (Values) over them
5. Copy all the cells again and paste them into column A in the first unpopulated cell (e.g. if you have 104 rows of data plus a header row you would paste into cell A106)
6. Click on Data and Remove Duplicates (only on the cells you just pasted in Step 5; not on all rows)
7. Sort all of Column A
8. Delete Column A

Seems like a lot of steps but only takes a few seconds.
This comment was minimized by the moderator on the site
[quote]Hi all thank you!! its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.By Hudson[/quote] Please let me know how to insert more than 1 row.
This comment was minimized by the moderator on the site
Hi there, These are almost useful! The first method doesn't work for me because when I follow the steps explicitly, the the data that I delete in the subtotal panes deletes the entire columns that I've sorted. In the second method when I get to the step where I insert sheet rows, the rows are inserted ABOVE the FALSE cells which breaks up the data, but the last selection of every group is then added to the group below. Any advice???
This comment was minimized by the moderator on the site
Hi all thank you!! its awesome , can you guys also let me how to insert 2 rows when the value changes in VBA or through excel.
This comment was minimized by the moderator on the site
Where in the code would I need to modify to include more than one row, I need to add 10 after each break... Thanks
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations