VBA-多张纸阵列打印纸

时间:2019-02-22 02:53:16

标签: arrays excel vba

我有一些不同的数组是工作表。我要构建的代码是使该代码通过一个数组打印一组工作表,其中“ packages_to_print”数组等于需要打印的所有相关工作表数组。如果不可能,是否有办法选择要打印的多个阵列?

此代码不会给我一个错误,只是不会将任何内容打印到pdf。

这是相关的代码。 (lender_package与另一个变量相同,因为我还没有建立用于将该变量设置为数组的case语句)。预先感谢您的帮助。

Dim common_disclosures As Variant
Dim nh_disclosure As Variant
Dim provident_disclosures As Variant
Dim packages_to_print As Variant
Dim lender_package As Variant

common_disclosures = Array("Certification", "Responsible Use", "Security Procedures", "Acknowledgment", "FACTA Credit Score", "Anti-Steering")

nh_disclosures = Array("Loan Origination and Comp", "Rate Lock", "ECOA")
provident_disclosures = Array("MBFA")

lender_package = Array(provident_disclosures)

If subject_state <> "MA" Then
    packages_to_print = Array(common_disclosures, nh_disclosures, lender_package)
Else
    packages_to_print = Array(common_disclosures, lender_package)
End If

For j = 1 To (customerpackages * 2) 
     Worksheets(packages_to_print).Select  _ 

     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\users\" & environ_user & "\desktop\" & borrower_array(j - 1) & " disclosures.pdf" _
    , Quality:=xlQualityMinimum, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
Next j

1 个答案:

答案 0 :(得分:0)

实际上,您正在df.groupby(['A']).count() 表达式中使用数组数组。尝试以WorkSheets(..)的形式加入数组,它运行正常。

packages_to_print

完整试用代码,可以在8-8页的任何新工作簿上尝试使用

    If subject_state <> "MA" Then
    packages_to_print = Split(Join(common_disclosures, ",") & "," & Join(nh_disclosures, ",") & "," & Join(lender_package, ","), ",")
    Else
    packages_to_print = Split(Join(common_disclosures, ",") & "," & Join(lender_package, ","), ",")
    End If