我有一本包含2张纸的工作簿。一张纸是一张表格,每个月都会更新发票信息,一张纸是一张发票的预设。
我有有效的VBA代码,该代码需要(手动)选择行,然后将这些行中的相关信息复制到第二张工作表的预设发票中。然后将其自动导出为PDF并保存到文件夹。
此代码/模块可以正常工作。行的选择基于列中的交易编号。我选择(手动)所有具有相同交易号的行。
现在,我不想自动浏览各行并根据交易号选择相关行,然后启动该模块,而是想使这一过程自动化。
到目前为止我所拥有的:
Sub PrintAll()
Dim i As Long, j As Long
Dim Arr
Dim DB As Worksheet
Set DB = Sheets("Data")
'~~> Set Range here
Arr = DB.Range("A2:X400").Value
For i = 1 To UBound(Arr, 1)
For j = 2 To UBound(Arr, 2)
If Arr(i, 7) = Arr(i + 1, 7) Then
Arr(i, j).Select
Call InvoiceCreator.InvoiceCreator
End If
Next j
Next i
End Sub
这个想法是根据if语句(第7列中的值相同)选择一个数组,然后根据所选数组运行模块。这可能是完全错误的,所以我想请您提供有关此方面的经验。