在代码中给数组赋值

16 浏览
0 Comments

在代码中给数组赋值

这个问题已经有了答案:

在VBA中关键字Set到底是做什么的?[重复]

我创建了一个数组,并为tems1到12赋值。我这样做是为了稍后循环遍历每个名称的一部分代码。由于某种原因,我在我的第一个数组填充行中遇到了一个错误:“需要对象”。有什么想法吗?这个代码的其余部分是否也有意义?

                Dim sArray() As String
                Dim row As Long
                Dim i As Long
                Dim arrTot() As Long
                Dim arrLate() As Long
          'Error here
                Set sArray(1) = "AAA CANADA INC."
                Set sArray(2) = "AEROTEK ULC"
                Set sArray(3) = "AKKA GROUPE AMERIQUE DU NORD INC."
                Set sArray(4) = "ALTITUDE AEROSPACE INC."
                Set sArray(5) = "ASSYSTEM CANADA"
                Set sArray(6) = "BERLETEX AERO DESIGN"
                Set sArray(7) = "MSB DESIGN INC."
                Set sArray(8) = "NORAMTEC CONSULTANTS INC."
                Set sArray(9) = "SATYAM COMPUTER SERVICES LTD."
                Set sArray(10) = "T.E.S. CONTRACT SERVICES INC."
                Set sArray(11) = "TATA CONSULTANCY SERVICES CANADA IN"
                Set sArray(12) = "TDM TECHNICAL SERVICES"
                Set vendor = Range("P2:P" & lr)
                row = 1
                For Each cell In invoicedates
                    For i = 1 To 12
                        If tbl1(row, 16) = sArray(i) Then
                            arrTot(i) = arrTot(i) + 1
                            duedate = cell.Value + 60
                            If Date > duedate Then
                                arrLate(i) = arrLate(i) + 1
                            End If
                        End If
                    Next
                    row = row + 1
                Next

admin 更改状态以发布 2023年5月21日
0
0 Comments

两件事情:首先,您需要重新调整数组大小:

ReDim sArray(1 To 12)

此外,在将值分配给数组之前没有“Set”。

0