![](/img/trans.png)
[英]Excel VBA: dynamically saving excel sheets into one PDF based on certain criteria in the cell (1 number = 1 sheet)
[英]VBA to Create PDF for excel sheets based on criteria
因此,我有一个仪表板报告,该报告根据我从另一个工作表(名称键)中选择的下拉列表显示销售业绩。 在单元格“ B266”中,具有当月的总销售额。 我正在研究一个VBA,如果满足以下条件,它将创建PDF报告并保存它:
1.在名称键下拉菜单中查找不显示“排除”(我排除了不包括在报告中的销售人员)
2.当在具有下拉位置$ A $ 7的报表(个人性能摘要)的工作表中选择该值时,报表工作表上的单元格b266不为0。
如果满足这两个条件,请创建一个pdf文件,如果没有,请保存到选择中的下一个单元格。 我有以下代码:
Sub PDF_Generator()
Dim cell As Range
Dim wsSummary As Worksheet
Dim counter As Long
Set wsSummary = Sheets("INDIVIDUAL PERFORMANCE SUMMARY")
For Each cell In Worksheets("NAME KEY").Range("$H2:$H60")
If cell.Value <> "Exclude" Then
'progress in status bar
counter = counter + 1
Application.StatusBar = "Processing file: " & counter & "/1042"
If ThisWorkbook.Sheets("INDIVIDUAL PERFORMANCE SUMMARY").Range("C1") <> "TRUE" Then
counter = counter + 1
Application.StatusBar = "Processing file: " & counter & "/1042"
With wsSummary
.Range("$A$7").Value = cell.Value
.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=ThisWorkbook.Sheets("INDIVIDUAL PERFORMANCE SUMMARY").Range("J1").Value & _
"\" & cell.Value & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
End With
End If
End If
Next cell
Set wsSummary = Nothing
End Sub
我对VBA还是很陌生,请帮忙,这将为我节省很多时间。
编辑 (基于评论) :
在您的第二个条件下再添加一个中频条件:
If ThisWorkbook.Sheets("INDIVIDUAL PERFORMANCE SUMMARY").Range("C1") <> "TRUE" Then
If (sheet.range("B226").value <> 0) Then
'your code to create PDF
End If
End If
这样,如果B226为0,则代码将不会创建PDF。
B226 <> 0的加,与语句和逻辑测试
If ThisWorkbook.Sheets("INDIVIDUAL PERFORMANCE SUMMARY").Range("C1") <> "TRUE" And ThisWorkbook.Sheets("INDIVIDUAL PERFORMANCE SUMMARY).Range("B226").value <> 0 Then
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.