繁体   English   中英

VBA根据条件为Excel表格创建PDF

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM