Bỏ qua nội dung chính

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

Giả sử, tôi có một dải ô và bây giờ, tôi muốn chèn ngắt trang vào trang tính khi các giá trị trong cột A thay đổi như ảnh chụp màn hình bên trái. Tất nhiên, bạn có thể chèn từng cái một, nhưng có cách nào nhanh chóng để chèn các ngắt trang cùng một lúc dựa trên các giá trị đã thay đổi của một cột không?

Chèn ngắt trang khi giá trị thay đổi với mã VBA

Chèn ngắt trang khi giá trị thay đổi bằng một tính năng mạnh mẽ


Chèn ngắt trang khi giá trị thay đổi với mã VBA

Mã VBA sau có thể giúp bạn chèn ngắt trang bên dưới dựa trên khi dữ liệu cột thay đổi, vui lòng thực hiện như sau:

1. Giữ phím tắt ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

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

Mã VBA: Chèn ngắt trang khi giá trị thay đổi:

Sub insertpagebreaks()
'updateby Extendoffice
    Dim I As Long, J As Long
    J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
    For I = J To 2 Step -1
        If Range("A" & I).Value <> Range("A" & I - 1).Value Then
            ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
        End If
    Next I
End Sub

3. Sau đó nhấn F5 để chạy mã này, tất cả các ngắt trang đã được chèn vào trang tính khi dữ liệu thay đổi trong cột A. Xem ảnh chụp màn hình:

Lưu ý:Trong đoạn mã trên, A là tiêu đề cột mà bạn muốn chèn ngắt trang dựa vào đó, bạn có thể thay đổi nó theo nhu cầu của mình.

Chèn ngắt trang khi giá trị thay đổi bằng một tính năng mạnh mẽ

Nếu bạn có Kutools cho Excel, Với khả 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 màu nền dựa trên những thay đổi giá trị. Nhấp để tải xuống Kutools cho Excel!

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 cửa sổ bật ra Phân biệt sự khác biệt theo cột chính hộp thoại, hãy thực hiện các thao tác sau:

  • Chọn phạm vi dữ liệu và cột chính mà bạn muốn sử dụng;
  • Chọn Page Break từ Các lựa chọn cái hộp.

3. Sau đó nhấn vào Ok , ngắt trang đã được chèn vào phạm vi dựa trên các thay đổi giá trị, xem ảnh chụp màn hình:

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


Các bài viết tương đối hơn:

  • Đánh dấu hàng khi giá trị ô thay đổi trong Excel
  • Nếu có danh sách các giá trị lặp lại trong trang tính của bạn và bạn cần đánh dấu các hàng dựa trên cột A mà giá trị ô thay đổi như ảnh chụp màn hình sau đây. Trên thực tế, bạn có thể nhanh chóng và dễ dàng hoàn thành công việc này bằng cách sử dụng tính năng Định dạng có Điều kiện.
  • Số gia tăng khi giá trị thay đổi trong một cột khác
  • Giả sử, bạn có một danh sách các giá trị trong cột A và bây giờ bạn muốn tăng số lên 1 trong cột B khi giá trị trong cột A thay đổi, có nghĩa là các số trong cột B tăng lên cho đến khi giá trị trong cột A thay đổi, sau đó tăng số lượng bắt đầu lại từ 1 như ảnh chụp màn hình bên trái. Trong Excel, bạn có thể giải quyết công việc này bằng phương pháp sau.
  • Tổng các ô khi giá trị thay đổi trong một cột khác
  • Khi bạn làm việc trên trang tính Excel, đôi khi, bạn có thể cần tính tổng các ô dựa trên một nhóm dữ liệu trong một cột khác. Ví dụ, ở đây, tôi muốn tính tổng các đơn hàng trong cột B khi dữ liệu thay đổi trong cột A để có kết quả sau. Làm thế nào bạn có thể giải quyết vấn đề này trong Excel?
  • Chèn 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ạy Macro khi giá trị ô thay đổi trong Excel
  • Thông thường, trong Excel, chúng ta có thể nhấn phím F5 hoặc nút Run để thực thi mã VBA. Tuy nhiên, bạn đã bao giờ thử chạy mã macro cụ thể khi giá trị ô thay đổi chưa? Bài viết này, tôi sẽ giới thiệu một số thủ thuật nhanh chóng để giải quyết công việc này trong Excel.

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

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...

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

Merci pour le code qui fonctionne très bien, seulement je souhaite ajouter un saut de page après et non avant chaque changement de valeur... que faut-il changer dans le code ?

Merci beaucoup !
This comment was minimized by the moderator on the site
Tôi không muốn ngắt trang tại những hàng bị ẩn. Thì phải làm sao?
This comment was minimized by the moderator on the site
Hello, Lê Tuấn
To solve your problem, please apply the below VBA code:
Sub insertpagebreaks()
'updateby Extendoffice
Dim I As Long, J As Long
Dim xRg As Range
On Error Resume Next
J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
Set xRg = Range("A1:A" & J).SpecialCells(xlCellTypeVisible)

For I = J To 2 Step -1
If Range("A" & I).Value <> Range("A" & I - 1).Value Then
If Not Intersect(xRg, Range("A" & I)) Is Nothing Then
ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)
End If
End If
Next I
End Sub


Please try, hope it can help you!
This comment was minimized by the moderator on the site
Is it possible to skip the first 20 rows of the sheet? If been trying all kinds of stuff but my knowledge of VBA is to limited to adjuist the code myself.
This comment was minimized by the moderator on the site
Hi, Wilco,
To insert the page break but skip the first 20 rows, you just need to change one parameter as below code:

Sub insertpagebreaks()

'updateby Extendoffice

Dim I As Long, J As Long

J = ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row

For I = J To 21 Step -1

If Range("A" & I).Value <> Range("A" & I - 1).Value Then

ActiveSheet.HPageBreaks.Add Before:=Range("A" & I)

End If

Next I

End Sub

Please try, thank you!
This comment was minimized by the moderator on the site
That is truly brilliant! I followed along on your VB example and it worked! I also am an owner of KUTools so I will play with that too.

Very impressed and thanks!

Mike
This comment was minimized by the moderator on the site
Sorry. EDIT: The first ROW is a column header.
This comment was minimized by the moderator on the site
Hello, Thank you! The thought of VBA makes me sweat. I do have one problem with the results of this code though. The first column is a column header. The code treats this as a change. My first page only shows the column header, but he following pages are fine. FYI: This is for a monthly report and the number of rows for each criteria change monthly. Any Ideas? Thank you in advance.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations