【发布时间】:2019-11-11 09:01:13
【问题描述】:
我有这个 VBA,它根据我的表“Analysetable”中的值创建一个数组
Sub BestilAnalyser()
Dim i As Integer
Dim j As Integer
Dim n As Integer
Dim OrderArray() As Variant
Dim xArray() As Variant
Application.ScreenUpdating = False
For i = 1 To Range("AnalyseTable").Rows.Count
If Not IsEmpty(Range("AnalyseTable[Date]")(i)) And _
WorksheetFunction.CountIf(Range("AnalyseTable[Bund]")(i).Offset(0, 1).Resize(1, 12), "=1") > 0 Then
ReDim Preserve OrderArray(n)
OrderArray(n) = i
ReDim Preserve xArray(0 To 12 - 1, n)
For j = 0 To 12 - 1
If Range("AnalyseTable[Bund]")(i).Offset(0, 1 + j).Value = 1 Then
xArray(j, n) = "x"
End If
Next j
n = n + 1
End If
Next i
Call WriteToOrderForm(OrderArray, xArray)
Call WriteEmail
For i = 0 To n - 1
For j = 1 To 12
If xArray(j - 1, i) = "x" Then
Range("AnalyseTable[Bund]")(OrderArray(i)).Offset(0, j) = 2
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
所以我想要帮助的是如何编写 VBA,以便它为 col“AnalyseTable[Date]”中的每个日期执行代码。同一个日期很可能会出现多次,然后为所有 1. Nov、所有 3. Nov 等运行 VBA。
我希望这是可行的。
【问题讨论】:
-
我很困惑,一旦你使用名称
Analysetable,其他情况下使用AnalyseTable和另一个AnalyseTabel,你知道吗? -
是的,我错过了,现在更正了