【发布时间】:2021-08-20 12:26:37
【问题描述】:
我有
-工作表名称“sheet2:
-G1中的数据验证列表
看看是否有一种方法可以让宏循环遍历数据验证列表并导出具有该单元格中文本名称的工作簿并循环遍历,以便列表的每个项目都导出为它们自己的工作簿。也就是如果下拉菜单中有 100 行,那么我会以 100 个 excel 文件结束,每个文件分别为 100 个下拉选项命名。
例如,这对我打印出 pdf 文件有用:
Public Sub Create_PDFs()
Dim destinationFolder As String
Dim dataValidationCell As Range, dataValidationListSource As Range, dvValueCell As Range
destinationFolder = "C:\Users\DELL 04\Desktop\Q-Book Activities\Experiment" 'Same folder as workbook containing this macro
'destinationFolder = "C:\path\to\folder\" 'Or specific folder
If Right(destinationFolder, 1) <> "\" Then destinationFolder = destinationFolder & "\"
'Cell containing data validation in-cell dropdown
Set dataValidationCell = Worksheets("sheet2").Range("G1")
'Source of data validation list
Set dataValidationListSource = Evaluate(dataValidationCell.Validation.Formula1)
'Create PDF for each data validation value
For Each dvValueCell In dataValidationListSource
dataValidationCell.Value = dvValueCell.Value
With dataValidationCell.Worksheet.Range("A1:I45")
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=destinationFolder & dvValueCell.Value & ".PDF", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End With
Next
End Sub
【问题讨论】:
-
尝试将
.ExportAsFixedFormat替换为ActiveWorkbook.saveas并使用必要的特定参数。当然,更改FileName的扩展名并使用适当的FileFormat。