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

Làm cách nào để in các trang hoặc trang tính nhất định dựa trên giá trị ô trong Excel?

Bạn đã bao giờ cố gắng in một trang hoặc trang tính nhất định dựa trên một giá trị ô trong Excel chưa? Và làm thế nào để đạt được nó? Các phương pháp trong bài viết này có thể giúp bạn giải quyết nó một cách chi tiết.

In trang nhất định dựa trên giá trị ô với mã VBA
In trang tính nhất định dựa trên giá trị ô với mã VBA


In trang nhất định dựa trên giá trị ô với mã VBA

Ví dụ: bạn muốn một trang nhất định, chẳng hạn như trang 1 của trang tính hiện tại được in tự động khi nhập số trang 1 vào ô A1 trong trang tính hiện tại. Bạn có thể làm như sau để đạt được nó.

1. Chọn ô chứa số trang bạn muốn in dựa trên đó, sau đó nhấn KhácF11 các phím đồng thời để mở Microsoft Visual Basic cho các ứng dụng cửa sổ. Sau đó nhấp vào Chèn > Mô-đun.

2. Sau đó Microsoft Visual Basic cho các ứng dụng cửa sổ bật lên, vui lòng sao chép và dán mã VBA sau vào cửa sổ.

Mã VBA: In trang dựa trên giá trị ô

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3. nhấn F5 phím để chạy mã. Trong cửa sổ bật lên Kutools cho Excel hộp thoại, nhấp vào để in trang nhất định hoặc nhấp vào Không để thoát khỏi hộp thoại nếu bạn không muốn in. Xem ảnh chụp màn hình:

Sau đó, cửa sổ xem trước của trang nhất định của trang tính hiện tại sẽ mở ra, vui lòng nhấp vào In để bắt đầu in.


In trang nhất định dựa trên giá trị ô với mã VBA

Giả sử bạn muốn in trang tính đang hoạt động khi giá trị trong ô B2 của trang tính này bằng số 1001. Bạn có thể đạt được nó bằng mã VBA sau. Hãy làm như sau.

1. Nhấp chuột phải vào Tab trang tính mà bạn muốn in dựa trên giá trị ô, sau đó bấm Mã Chế độ xem từ menu chuột phải.

2. Sau đó Microsoft Visual Basic cho các ứng dụng cửa sổ bật lên, vui lòng sao chép và dán mã VBA sau vào cửa sổ Mã.

Mã VBA: In trang tính dựa trên giá trị ô

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

Chú thích: Bạn có thể thay đổi ô và giá trị ô trong mã khi bạn cần.

3. nhấn Khác + Q để đóng Microsoft Visual Basic cho các ứng dụng cửa sổ.

Khi nhập số 1001 vào ô B2, a Kutools cho Excel hộp thoại bật lên, vui lòng nhấp vào để bắt đầu in. Hoặc nhấp vào Không để thoát khỏi hộp thoại trực tiếp mà không cần in. Xem ảnh chụp màn hình:

Mẹo: Nếu bạn muốn in trực tiếp các trang không liên tiếp như trang 1, 6 và 9 trong trang tính hiện tại hoặc chỉ in tất cả các trang chẵn hoặc lẻ, bạn có thể thử In các trang được chỉ định pf tiện ích Kutools cho Excel như ảnh chụp màn hình dưới đây được hiển thị. Bạn có thể đi đến tải xuống miễn phí phần mềm không giới hạn trong 30 ngày.


Các bài liên quan:


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 ...
  • Thanh siêu công thức (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-2021 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 đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại 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
Nhận xét (4)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này rất hữu ích! Có cách nào để in nhiều trang không? Ví dụ: nếu ô A1 = 5, hãy in các trang 1-5.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào Ryan,
Nếu bạn muốn in các trang liên tiếp, chẳng hạn như 1-5 trong một trang tính dựa trên một giá trị ô, vui lòng chỉ định một ô như A1 làm Định dạng văn bản, nhập 1-5 vào đó, giữ nguyên chọn ô này, rồi chạy VBA bên dưới mã số.

Sub Print_Pages ()
Làm mờ xPage thành chuỗi
Dim xYesorNo dưới dạng số nguyên
Dim xI dưới dạng chuỗi
Dim xPArr () As String
Dim xIS, xIE, xF, xNum dưới dạng số nguyên
xPage = ActiveCell.Value
xYesorNo = MsgBox ("Trang sẵn sàng để in" & xPage & "", vbYesNo, "Kutools cho Excel")
Nếu xYesorNo = vbYes Thì
xPArr () = Tách (xPage, "-")
Nếu UBound (xPArr) = 0 Thì
Nếu IsEmpty (xPage) và IsNumeric (xPage) thì
MsgBox "Vui lòng chỉ định một ô và nhập một trang vào ô"
Thoát Sub
Cuối Nếu
xNum = Int (xPage)
ActiveSheet.PrintOut from: = xNum, To: = xNum, preview: = True
ElseIf UBound (xPArr) = 1 Thì
Về lỗi GoTo Err01
xIS = Int (xPArr (0))
xIE = Int (xPArr (1))
Nếu xIS <xIE Thì
Đối với xF = xIS Đến xIE
ActiveSheet.PrintOut from: = xF, To: = xF, preview: = True
Sau
Khác
Đối với xF = xIE Đến xIS
ActiveSheet.PrintOut from: = xF, To: = xF, preview: = True
Sau
Cuối Nếu
Khác
MsgBox "Vui lòng nhập dữ liệu hợp lệ", vbOKOnly, "Kutools cho Excel"
Thoát Sub
Cuối Nếu
Khác
Thoát Sub
Cuối Nếu
Thoát Sub
Lỗi01:
MsgBox "Vui lòng nhập phạm vi trang chính xác", vbOKOnly, "Kutools cho Excel"
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn bạn. Tôi gặp vấn đề tương tự, tôi muốn in các trang dựa trên giá trị ô. Cho phép nói các thay đổi biến, tức là trang 1-5 và sau đó là 2-6. Vì vậy, tôi có một trường sẽ tính toán và sẽ đặt trường đó ở định dạng văn bản như được đề xuất, nhưng vì một số lý do mà nó không hoạt động với tôi. Nó không in bất kỳ trang nào. Bạn có thể vui lòng tư vấn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn đã bao giờ tìm ra cách để làm cho điều này hoạt động?
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL