首页 > 解决方案 > Excel:VBA 代码循环遍历组合框列表并为每个组合框生成 PDF。

问题描述

我正在尝试创建 VBA 代码,在我的工作表上的 ComboBox 中一一选择每个名称。链接到 ComboBox 的单元格是“D5”(这是员工姓名)。但是,名称(大约 1700 个名称)所在的 ComboBox 范围位于我的工作簿 C 列中名为“Sheet1”的另一个工作表上。

从组合框中选择名称时,它会出现在链接单元格“D5”中。“D5”中的值随后被工作表上的其他单元格使用,并为所选名称创建摘要。我需要一个宏,它将从 ComboBox 中一一选择每个名称并保存为 PDF。

什么是我可以使用的 VBA 代码,它将遍历每个名​​称并保存为 PDF,作为从 ComboBox 中选择的名称到此文件夹 C:\Users\SM\Desktop\ScorecardPDF ?

标签: vbaexcelxlsxxlsm

解决方案


这是我的最终代码。对于那些遇到同样问题的人。

Sub pdfProduce()
Dim rngLoopRange As Range
Dim wsSummary As Worksheet
Dim rngDealers As Worksheet

Set wsSummary = Sheets("Summary")

For Each rngLoopRange In Worksheets("owssvr").Range("$B$2:$B$1648")
  wsSummary.Range("D5").Value = rngLoopRange.Value

  wsSummary.ExportAsFixedFormat _
           Type:=xlTypePDF, _
           Filename:="C:\Users\S\Desktop\ScorecardPDF\" & rngLoopRange.Value & ".pdf", _
           Quality:=xlQualityStandard, _
           IncludeDocProperties:=True, _
           IgnorePrintAreas:=False, _
           OpenAfterPublish:=False
Next rngLoopRange

Set wsSummary = Nothing
End Sub

推荐阅读