Как указано, я получаю объект, требуемый при прохождении через каталог. Забавно, что он объявлен. Я только начинаю получать эту проблему, когда начинаю перебирать папку, а не только рабочий лист. Я попытался активировать рабочую книгу, но это тоже не сработало. Я переместил все вокруг, чтобы увидеть, был ли компилятор придирчивым и ничего еще. Может быть, свежий набор глаз поможет мне определить мою ошибку? БлагодаряТребуется объект Ошибка при цикле через DIR()
Код:
Sub MultiDimArray()
Dim Z As Long
Dim A1 As Long
Dim ws As Integer
Dim wbk As Workbook
Dim Filename As String
Dim Path As String
Dim myArray(9, 5) As String
Path = "C:\Users\Ashleysaurus\Desktop\doug\test\TheFolder"
Filename = Dir(Path & "*.xlsx")
Do While Len(Filename) > 0
Set wbk = Workbooks.Open(Path & Filename)
wbk.Activate
Set ws = ActiveWorkbook.Worksheets.Count
For i = 1 To ws
For x = LBound(myArray, 1) To UBound(myArray, 1)
For y = LBound(myArray, 2) To UBound(myArray, 2)
myArray(x, y) = "Position " & "x=" & x & ", y=" & y & ", z=" & Z & ", A1=" & A1
ActiveWorkbook.Worksheets(i).Cells(x + 1, y + 1).Value = myArray(x, y)
Next y
Next x
Z = Z + 1
Next i
wbk.Close True
x = 0
y = 0
Z = 0
A1 = A1 + 1
Filename = Dir
Loop
End Sub
Подсказка: 'Count' не является объектом:' Установите ws = ActiveWorkbook.Worksheets.Count'. Похоже, вы сохранили имя старой переменной после изменения ее использования. –
Ahhhh Я вижу. Если я заберу «set» в этой строке, все будет работать отлично. За исключением того, что код цикла не выполняется. Я поиграю еще и попытаюсь понять, почему. –