Этот код дает мне ошибку компилятора «Ожидаемый массив». Кто-нибудь знает, почему это? Я хочу, чтобы мой массив заполнялся соответствующими значениями в строках, которые соответствуют моим заданным параметрам.Ожидаемая ошибка компилятора Array в excel VBA
Бонусный вопрос. Как только я это выясню, я хочу подсчитать уникальные значения, введенные в этот массив. Тем не менее, я в основном обеспокоен своей первой ошибкой, и я очень благодарен за любую помощь или рекомендации.
Dim dateCheck As String
Dim lastRow As Long
Dim L As Integer
Dim I As Long
Dim shipDay As Date
Dim search As String
Dim myArray As Variant
For L = 0 To 21 ' Execute code for whole month
shipDay = Worksheets("June Canada").Cells(L + 10, 10).Text 'Check specific ship days
For I = 1 To Worksheets("Sheet1").UsedRange.Rows.Count ' Check every row of worksheet
search = Worksheets("Sheet1").Cells(I, 12).Value ' Variable to check for CAN vs USA
If ((InStr(1, search, "CAN", vbBinaryCompare) = 1) _
And (Worksheets("Sheet1").Cells(I, 8) = shipDay) _
And (Worksheets("Sheet1").Cells(I, 6).Text = "Invoice")) Then
ReDim myArray(lb To ub)
lb = 0 ' lower bound = 0
ub = WorWorksheets("Sheet1").UsedRange.Rows.Count ' upper bound is max # of rows
myArray() = Worksheets("Sheet1").Cells(I, 10).Text ' Add the variable values to the dynamic array
End If
Next I
' Count # of unique values in unique()
' Worksheets("JUNE canada").Cells(L + 10, 8).Value = ??? 'Enter # of unique values into sheet
Следующая L
Вы определили myArray как строку, и вы пытаетесь ее устранить. Redim работает только в массиве – Krishna