Q
chào các bác. bác nào có thể cho em một chương trình viết bằng VBA dùng để in các Sheet trong bảng tính được không ạ và có cả ô để chọn số lượng copy của các trang nữa. Em cám ơn các bác nhiều
Để sử dụng được thủ tục này, các bạn cần định nghĩa một số Name như sau:Private Sub cmbPrintAll_Click()
With Application
If Evaluate(.Names("MessageBox").Value) = 1Then
If MsgBox("Are you sure print all sheet in this workbook?", vbQuestion + vbYesNo, "Confirm to print") = vbNo Then Exit Sub
End If
Dim i As Long
Dim strSoBG As String
strSoBG = " Sè: " & Evaluate(.Names("SoBG").Value)
.ScreenUpdating = False
For i = Evaluate(.Names("Begin").Value) To Evaluate(.Names("End").Value)
Sheets(i).Select
ActiveSheet.Shapes("txbSoBG").Select
If Selection.Text <> strSoBG & i Then Selection.Text = strSoBG & i
If Evaluate(.Names("PrintPreview").Value) = 0 Then
Sheets(i).PrintOut , , Evaluate(.Names("CopyCount").Value)
ElseIf Evaluate(.Names("PrintPreview").Value) = 1 Then
Sheets(i).PrintPreview
End If
If Evaluate(.Names("MessageBox").Value) = 1 Then
If MsgBox("Do you want to continue print next sheet?", vbQuestion + vbYesNo, "Confirm to print") = vbNo Then Exit Sub
End If
Next
Sheets(1).Select
Cells(1, 1).Select
.ScreenUpdating = True
End With
End Sub