有人可以帮助我实现代码以根据所选的情况将打印方向表更改为我现有的代码。例如。如果选择了案例1至案例5,则以纵向打印,如果选择案例6,则以横向打印。
我附在我的代码下面:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim IB As Variant
If Target.Address = "$F$2" Then
IB = InputBox("Type Which Number Print Area To Use" & Chr(13) & "Values Available are:" & Chr(13) & "1 = Day 1" & Chr(13) & "2 = Day 2" & Chr(13) & "3 = Day 3" & Chr(13) & "4 = Day 4" & Chr(13) & "5 = Day 5" & Chr(13) & "6 = Week/Signature", "Print Area Selection")
If IB = "1" Then
Range("D4:G44").Select
Selection.PrintOut Copies:=1, Collate:=True
ElseIf IB = "2" Then
Range("H4:J44").Select
Selection.PrintOut Copies:=1, Collate:=True
ElseIf IB = "3" Then
Range("K4:M44").Select
Selection.PrintOut Copies:=1, Collate:=True
ElseIf IB = "4" Then
Range("N4:P44").Select
Selection.PrintOut Copies:=1, Collate:=True
ElseIf IB = "5" Then
Range("q4:S44").Select
Selection.PrintOut Copies:=1, Collate:=True
ElseIf IB = "6" Then
Range("D45:T76").Select
Selection.PrintOut Copies:=1, Collate:=True
End If
End If
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
x = Range("F2").Value
Select Case x
Case 1
Range("d4:g44").Select
Case 2
Range("h4:j44").Select
Case 3
Range("K4:M44").Select
Case 4
Range("N4:P44").Select
Case 5
Range("Q4:S44").Select
Case 6
Range("D45:T76").Select
End Select
Selection.PrintOut Copies:=1, Collate:=True
Cancel = True
Application.EnableEvents = True
End Sub
您可以使用Worksheets("sheetname").PageSetup.Orientation = xlLandscape
设置打印方向
请参阅this了解更多信息。