特定のワークシートを PDF にエクスポートしようとしています。スクリプトは別のワークシートから呼び出されます。すべてのサイトを PDF に印刷/変換したくない場合があるため、いくつかの IF メソッドが含まれています。「サイトxが不要な場合は、UNIONメソッドに含めないでください。したがって、PDFに変換しないでください」. 宛先ワークシート内でスクリプトを呼び出す限り、正常に動作します。
別のワークシートからスクリプトを呼び出すにはどうすればよいですか? Range-Object を選択できないというエラーが常に表示されます (行: Union(intSeite1, intSeite2, intSeite3, intSeite4, intSeite5, intSeite6).Select)。
乾杯、ありがとう、マーティン
Sub export()
Application.DisplayAlerts = False
Dim rngSeite1 As Range
Dim rngSeite2 As Range
Dim rngSeite3 As Range
Dim rngSeite4 As Range
Dim rngSeite5 As Range
Dim rngSeite6 As Range
Dim rngDruckbereich As Range
With Worksheets("Ausgabe")
.Unprotect
Set intSeite1 = .Range("A1:A92").EntireRow
If .Range("a94") <> 1 Then
Set intSeite2 = .Range("A94:A205").EntireRow
Else
Set intSeite2 = Nothing
End If
If .Range("a207") <> 1 Then
Set intSeite3 = .Range("A207:A403").EntireRow
Else
Set intSeite3 = Nothing
End If
If .Range("a405") <> 1 Then
Set intSeite4 = .Range("A405:A516").EntireRow
Else
Set intSeite4 = Nothing
End If
If .Range("a518") <> 1 Then
Set intSeite5 = .Range("A518:A629").EntireRow
Else
Set intSeite5 = Nothing
End If
If .Range("a631") <> 1 Then
Set intSeite6 = .Range("A631:A716").EntireRow
Else
Set intSeite6 = Nothing
End If
End With
If Not intSeite4 Is Nothing And Not intSeite5 Is Nothing Then
Union(intSeite1, intSeite2, intSeite3, intSeite4, intSeite5, intSeite6).Select
ElseIf Not intSeite4 Is Nothing Then
Union(intSeite1, intSeite2, intSeite3, intSeite4, intSeite6).Select
ElseIf Not intSeite5 Is Nothing Then
Union(intSeite1, intSeite2, intSeite3, intSeite5, intSeite6).Select
Else
Union(intSeite1, intSeite2, intSeite3, intSeite5, intSeite6).Select
End If
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\" & Worksheets("Eingabe").Range("D41"), _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
With Worksheets("Ausgabe")
.Protect
End With
End Sub