Excel ElseIf语句错误。要保存为pdf的VBA宏

Excel ElseIf语句错误。要保存为pdf的VBA宏,excel,if-statement,vba,Excel,If Statement,Vba,如果我打印成pdf,我不喜欢pdf的质量。但当我保存到PDF时,它会更清晰。因此,我尝试了这段VBA,但在ElseIf语句中不断出现错误。它到底出了什么问题 If Range("AE2").Value = 1 Then ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ ActiveWorkbook.Path & Application.PathSeparator & "\"

如果我打印成pdf,我不喜欢pdf的质量。但当我保存到PDF时,它会更清晰。因此,我尝试了这段VBA,但在ElseIf语句中不断出现错误。它到底出了什么问题

If Range("AE2").Value = 1 Then ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:=
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

感谢您查看所有内容

您在第四行代码后缺少下划线(换行符)。此外,您还应在
之后断开该行,然后
。尝试更改代码,如:

If Range("AE2").Value = 1 Then
    ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
    ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
    ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

第四行代码后缺少下划线(换行符)。此外,您还应在
之后断开该行,然后
。尝试更改代码,如:

If Range("AE2").Value = 1 Then
    ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
    ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
    ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

第四行代码后缺少下划线(换行符)。此外,您还应在
之后断开该行,然后
。尝试更改代码,如:

If Range("AE2").Value = 1 Then
    ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
    ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
    ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

第四行代码后缺少下划线(换行符)。此外,您还应在
之后断开该行,然后
。尝试更改代码,如:

If Range("AE2").Value = 1 Then
    ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
    ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
    ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

重构后,代码更易于阅读:

Dim exportRng As String

Select Case Range("AE2")
    Case 1
        exportRng = "A1:M55"

    Case 2
        exportRng = "A1:M108"

    Case 3
        exportRng = "A1:M162"

End Select

ActiveSheet.Range(exportRng).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

重构后,代码更易于阅读:

Dim exportRng As String

Select Case Range("AE2")
    Case 1
        exportRng = "A1:M55"

    Case 2
        exportRng = "A1:M108"

    Case 3
        exportRng = "A1:M162"

End Select

ActiveSheet.Range(exportRng).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

重构后,代码更易于阅读:

Dim exportRng As String

Select Case Range("AE2")
    Case 1
        exportRng = "A1:M55"

    Case 2
        exportRng = "A1:M108"

    Case 3
        exportRng = "A1:M162"

End Select

ActiveSheet.Range(exportRng).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

重构后,代码更易于阅读:

Dim exportRng As String

Select Case Range("AE2")
    Case 1
        exportRng = "A1:M55"

    Case 2
        exportRng = "A1:M108"

    Case 3
        exportRng = "A1:M162"

End Select

ActiveSheet.Range(exportRng).ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=False

我现在拿到了。谢谢你的帮助。代码如下:

If Range("AE2").Value = 1 Then
ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

我现在拿到了。谢谢你的帮助。代码如下:

If Range("AE2").Value = 1 Then
ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

我现在拿到了。谢谢你的帮助。代码如下:

If Range("AE2").Value = 1 Then
ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

我现在拿到了。谢谢你的帮助。代码如下:

If Range("AE2").Value = 1 Then
ActiveSheet.Range("A1:M55").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 2 Then
ActiveSheet.Range("A1:M108").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
ElseIf Range("AE2").Value = 3 Then
ActiveSheet.Range("A1:M162").ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & Application.PathSeparator & "\" & Range("A23").Value & "\" & Range("AC6").Value & "\" & Range("AD6").Value & "\" & Range("AC3").Value & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If

谢谢你指出这一点。我现在添加了下划线。但现在我只是得到了一个错误:编译错误:否则如果我认为你缺少一些换行符。请看我编辑的答案。谢谢你指出这一点。我现在添加了下划线。但现在我只是得到了一个错误:编译错误:否则如果我认为你缺少一些换行符。请看我编辑的答案。谢谢你指出这一点。我现在添加了下划线。但现在我只是得到了一个错误:编译错误:否则如果我认为你缺少一些换行符。请看我编辑的答案。谢谢你指出这一点。我现在添加了下划线。但现在我只是得到了一个错误:编译错误:否则如果我认为你缺少一些换行符。请参阅我编辑的答案。