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ác và F11 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 Mã 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 Có để 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 Có để 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:
Các bài liên quan:
- Làm thế nào để tạo một vùng in động trong Excel?
- Làm cách nào để chỉ in trang cuối cùng của trang tính trong Excel?
Công cụ năng suất văn phòng tốt nhất
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 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!