【发布时间】:2022-01-25 16:40:40
【问题描述】:
我想将 excel 中的行范围转换为带有 vba 的 pdf 文件。但在不同的工作表中具有特定格式。到目前为止我所做的。但问题是,我的代码如何忽略具有相似值的行。我想在 pdf 文件下添加所有具有相似值的行。例如: the first image shows how the data are in the data set 和 second image is the format of the output 我希望 EmpID 作为输入,与该 EmpID 相关的行将作为输出,并且这些行将按顺序包含在输出格式中,如第三张图像 expected output。下面我添加了我在 VBA 中添加的代码以获得 pdf。 我面临的问题是它只生成一行的输出,例如 430 并忽略其他 5 个,它用于下一个唯一数字并打印,因为与该行相关的其他列包含必须是的信息包含在pdf中。提前非常感谢。 另一件事让它更清楚一点,我尝试使用 VLOOKUP 从一个 excel 表匹配到另一个表,以便使用某个 Emp_ID 值,行将获得某些输出
Sub pdf_test_7()
Dim i As Integer
For i = 2 To 10
Sheets("ps").Cells(1, 2) = Sheets("WD").Cells(i, 1)
Sheets("ps").Range("A1:Q25").ExportAsFixedFormat Type:=xlTypePDF, _
Filename:="C:\Users\Desktop\test_code_for_printing_pdf\" & Sheets("WD").Cells(i, 1) & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=True, _
OpenAfterPublish:=False
Next i
End Sub
【问题讨论】:
-
你尝试设置
IgnorePrintAreas:=False吗? -
是的,我做到了。 :( 但不起作用。
-
好的。我使用了不同的方法。我选择左上角的单元格并将范围变量设置为等于
CurrentRegion,然后将打印区域设置为该范围。另外,IgnorePrintAreas:=False。我在循环内执行此操作。这应该让您的打印范围随着 EmpId 行的变化而变化。 -
你能分享一下你是怎么做的,然后我就可以知道你是如何处理你的工作的了吗?
-
我正在使用手机,但我会发布一个应该可以使用的答案。