Sub Datasheet_MC_V1()
'
' Datasheet_MC_V1 Macro
'
Dim Filemane As String
n = Sheets("Loop").Range("C1").Value
For i = 2 To n + 1
Sheets("Loop").Select
Range("A" & i).Select
Selection.Copy
Sheets("For Looping").Select
Range("A2").Select
ActiveSheet.Paste
Filename = Cells(2, 2).Value
x = "Multicopter\"
MkDir "C:\Users\Raam\Desktop\Excel marcro for datasheet\" & Filename
Sheets("Before display").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Raam\Desktop\Excel marcro for datasheet\" & Filename & "\" & Filename & "_datasheet.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Next i
End Sub
我尝试将文件保存为 pdf 并保存在基于单元格值创建的文件夹中,但出现了错误。
代码如下时,我没有收到错误
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Raam\Desktop\Excel marcro for datasheet\" & Filename & "_datasheet.pdf" _
即当我尝试将其保存在创建的文件夹之外时。
答案1
Sub Datasheet_MC_V1()
' Datasheet_MC_V1 Macro
Dim Filemane As String
n = Sheets("Loop").Range("C1").Value
For i = 2 To n + 1
Sheets("Loop").Select
Range("A" & i).Select
Selection.Copy
Sheets("For Looping").Select
Range("A2").Select
ActiveSheet.Paste
Filename = Cells(4, 2).Value
MkDir "C:\Users\Raam\Desktop\Excel marcro for datasheet\" & Filename
Sheets("Before display").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\Users\Raam\Desktop\Excel marcro for datasheet\" & Filename & "\" & Filename & "_datasheet.pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
Next i
End Sub
在单元格 (4,2) 中,我使用了公式 TRIM (2,2),这会删除导致错误的空白区域。Filename = Cells(4, 2).Value
因此,该程序创建一个具有文件名的目录(在特定的单元格中),并在创建的文件夹中以 filename_datasheet.pdf 的名称创建保存为 pdf 的文件。