【发布时间】:2018-02-06 22:12:28
【问题描述】:
我正在尝试将 Excel 工作表的一部分保存为 PDF,该部分基于工作簿另一工作表中的信息。
我要在 PDF 中打印 A1:I23 部分的第一张纸名为 Enveloppe。 存储数据的第二张表名为 Info-Cas。
基本上,我制作了一个表格,我必须将其导出为 PDF 并将 144 个 PDF 中的每一个合并在一起。当然,我不想一一输入,所以我编写了以下宏。显然,它现在不起作用。
Dim FName As String
Dim i As Integer
FName = Worksheets("Enveloppe").Range("K1").Text
For i = 2 To 4
'Copier la journée du cas
Worksheets("Info-Cas").Range("K" & i).Copy
Worksheets("Enveloppe").Range("A3").PasteSpecial Paste:=xlPasteValues
'Copier les informations principales (Cas, Numéro d'équipe, Salle)
Worksheets("Info-Cas").Range("A" & i).Copy
Worksheets("Enveloppe").Range("B4").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("B" & i).Copy
Worksheets("Enveloppe").Range("B5").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("C" & i).Copy
Worksheets("Enveloppe").Range("B6").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("D" & i).Copy
Worksheets("Enveloppe").Range("B7").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("E" & i).Copy
Worksheets("Enveloppe").Range("B8").PasteSpecial Paste:=xlPasteValues
'Copier les informations sur l'horaire
Worksheets("Info-Cas").Range("F" & i).Copy
Worksheets("Enveloppe").Range("B10").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("G" & i).Copy
Worksheets("Enveloppe").Range("B11").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("H" & i).Copy
Worksheets("Enveloppe").Range("B12").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("I" & i).Copy
Worksheets("Enveloppe").Range("B13").PasteSpecial Paste:=xlPasteValues
Worksheets("Info-Cas").Range("J" & i).Copy
Worksheets("Enveloppe").Range("B14").PasteSpecial Paste:=xlPasteValues
'Enregistrer le document au format PDF
Worksheets("Enveloppe").Range("A1:I23").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=FName
Next
我遇到的问题是,对于我尝试过的示例,现在只有最后一个 PDF 正在保存。
另外,我想将文件保存在我计算机上的某个文件夹中。谁能帮我做这些?
非常感谢!
【问题讨论】:
-
因为您没有在 for 循环中更新文件名。
-
名称正在使用来自 B4 和 B5 的信息在 K1 单元格中自我更新。是否仍然可以,还是我必须复印第三张纸并只打印一次?