我一直在使用 excel 根据单元格值分别将工作表另存为 PDF 和 .XLS,但它保存在与父文件相同的文件夹中。我一直在尝试找到一种方法来使用 VBA 将这些文件保存在各种路径下,这些路径是基于数据验证工具的单元格值中的引用。
例如:路径:- D:\Collections\三月\地区 1\- 在单元格 D3 中引用
文件名:LN,FN(月/日/年)- 在单元格 D4 中引用
粗体值根据 Excel 中的查找公式不断变化。我用于保存到 .XLS 的当前代码是:
Sub SaveASXLS()
Dim FName As String
Dim FPath As String
FPath = "D:\Collections\March\Region 5\Cerritos"
FName = Sheets("Sheet1").Range("D4").Text
ThisWorkbook.SaveAs Filename:=FPath & "\" & FName, FileFormat:=56
End Sub
FPATH=“文件位置”我让它在固定位置工作,但每次我切换地区或城市时都必须更改它。
我用于将文件导出为 PDF 的代码是:
Sub SavePDF()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Range("D4").Value _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub
我分别使用它们作为模块和基本宏,有没有办法将这两个功能结合在一起。
非常感谢您的帮助。
答案1
这对我来说很好
Option Explicit
Sub SaveASXLS()
Dim FName As String
Dim FPath As String
FPath = Range("E1").Value
FName = Range("I1").Value
ThisWorkbook.SaveAs Filename:=FPath & "\" & FName, FileFormat:=56
End Sub
Value
不使用text
要合并它们,你需要调用它们
Sub TwoMacros()
SaveASXLS
SavePDF
End Sub
或者从其中一个调用另一个:
Option Explicit
Sub SaveASXLS()
Dim FName As String
Dim FPath As String
FPath = Range("E1").Value
FName = Range("I1").Value
ThisWorkbook.SaveAs Filename:=FPath & "\" & FName, FileFormat:=56
SavePDF
End Sub