为什么不能这样保存我的文件? Excel / VBA

时间:2019-11-26 21:43:41

标签: excel vba

在exportpdf级别上这有什么问题?它可以正确保存第一个文件,但之后会出错。我已删除了大部分宏,以防万一其中有些东西看起来不需要。

Sub ptSub()
    lr = Cells(Rows.Count, 2).End(xlUp).Row
    For i = 2 To lr
        thisFile = Cells(i, 3).Value
        ChDir "C:\IntelPT"
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            "C:\IntelPT\" & _
            thisFile & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            False
        Next i
    End Sub 

如果我只有这个

 "C:\IntelPT\" & _
                i & ".pdf", Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, IgnorePrintAreas:=False, 

它可以按我想要的方式工作,但我不希望将迭代器用作文件名

1 个答案:

答案 0 :(得分:0)

此文件的内容在B列还是C列中?该代码有效,但是我认为您的最后一行或“ thisfile”值的位置有误。始终最适合您验证变量(此文件)中的值,以确保获得所需的值

如果文件内容在B列中,则此行:

        thisFile = Cells(i, 3).Value

应更改为:

        thisFile = Cells(i, 2).Value

如果文件内容在C列中,则此行:

        lr = Cells(Rows.Count, 2).End(xlUp).Row

应更改为:

        lr = Cells(Rows.Count, 3).End(xlUp).Row