Làm cách nào để in trang tính cụ thể dựa trên giá trị ô trong Excel?
Bạn đã bao giờ cố gắng in một số trang tính cụ thể dựa trên một giá trị ô chưa? Trong bài viết này, tôi sẽ nói về một số ví dụ về vấn đề này, nếu bạn quan tâm đến vấn đề này, hãy tiếp tục.
In trang tính dựa trên một ô có VBA
In trang tính dựa trên ô liền kề với VBA
In trang tính dựa trên một ô có VBA
Giả sử có hai trang tính, bạn muốn in Trang tính1 hoặc Trang tính2 hoặc cả hai trang tính dựa trên Ô A1 trong Trang tính1. Vui lòng làm như sau:
Trong trường hợp này, hãy nhập 1 để in trang đầu tiên, nhập 2 để in trang thứ hai và 3 để in cả hai trang.
1. Nhập 1, 2 hoặc 3 khi bạn cần A1 trong trang tính đầu tiên và nhấn Alt + F11 chìa khóa để mở Microsoft Visual Basic cho các ứng dụng cửa sổ. Xem ảnh chụp màn hình:
2. nhấp chuột Chèn > Mô-đunvà dán mã bên dưới vào Mô-đun kịch bản. Xem ảnh chụp màn hình:
VBA: In trang tính dựa trên giá trị ô
Sub PrintStuff()
'UpdayebyExtendoffice20180811
Dim xRgVal As Variant
Dim xSheets As Sheets
Set xSheets = ActiveWorkbook.Worksheets
xRgVal = xSheets(1).Range("A1").Value
If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
Select Case xRgVal
Case 1
xSheets(1).PrintOut
Case 2
xSheets(2).PrintOut
Case 3
xSheets(1).PrintOut
xSheets(2).PrintOut
Case Else
MsgBox "Enter1,2 or 3 into A1(1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
Exit Sub
End Select
Else
Exit Sub
End If
End Sub
3. nhấn F5 để in trực tiếp (các) trang tính.
In trang tính dựa trên ô liền kề với VBA
Nếu bạn có nhiều trang tính trong một sổ làm việc và bạn muốn in một hoặc một số trang tính dựa trên các giá trị ô từ sổ làm việc này, bạn có thể thực hiện như sau:
1. Tạo một trang tính mới có tên Bảng kiểm soát trong sổ làm việc bạn sử dụng và liệt kê tất cả tên trang tính trong cột A (bao gồm hoặc loại trừ trang tính điều khiển khi bạn cần). Xem ảnh chụp màn hình:
2. Kiểu "in”Trong ô liền kề bên cạnh tên trang tính nếu bạn muốn in nó. Xem ảnh chụp màn hình được hiển thị.
3. nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ và nhấp chuột Chèn > Mô-đun. Xem ảnh chụp màn hình :
4. Dán mã bên dưới vào Mô-đun và nhấn F5 phím để chạy mã.
VBA: In dựa trên ô liền kề
Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
Dim i As Integer
Dim xCSheetRow As Integer
Dim xSName As String
Dim xCSheet As Variant
Dim xRgVal As String
On Error Resume Next
xSName = "Control Sheet"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xCSheet = ActiveWorkbook.Worksheets(xSName)
xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
For i = 2 To xCSheetRow
xRgVal = xCSheet.Range("B" & i).Value
If xRgVal = "Print" Or xRgVal = "print" Then
If xCSheet.Range("A" & i).Value <> "" Then
ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
End If
End If
Next
xCSheet.Delete
ActiveWorkbook.Worksheets.Add
ActiveSheet.Name = "Control Sheet"
Range("A1").Select
ActiveCell.FormulaR1C1 = "Sheet Name"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Print?"
For i = 1 To ActiveWorkbook.Worksheets.Count
Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
Next
Cells.Columns.AutoFit
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Sau khi chạy mã, (các) trang tính sẽ được in ngay bây giờ, đồng thời, Bảng điều khiển mới sẽ thay thế trang tính cũ.
Kutools cho Excel, với hơn 300 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn. |
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!