Excel VBA打印选项

问题描述 投票:0回答:1

有人可以帮助我实现代码以根据所选的情况将打印方向表更改为我现有的代码。例如。如果选择了案例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
excel vba
1个回答
0
投票

您可以使用Worksheets("sheetname").PageSetup.Orientation = xlLandscape设置打印方向

请参阅this了解更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.