2016-04-14 9 views
0

Может ли кто-нибудь помочь мне разобраться, почему этот код erro является «индексом вне пределов досягаемости». (Бег ошибка времени 9)индекс вне диапазона кода VBA

Dim arrayU() As Variant 
Dim arrayX() As Variant 
Dim arrayW() As Variant 
Dim LrowU As Integer 
Dim LrowX As Integer 
Dim LrowW As Integer 
Dim i As Integer 
Dim j As Integer 
Dim bed_in_use As Integer 


    For i = 3 To LrowX 
    For r = 3 To LrowW 
    For j = 3 To LrowX 

    If bed_in_use >= 24 Then Exit For 

    If arrayX(i) = arrayW(r) Then 
    bed_in_use = bed_in_use - 1 
    If arrayX(i) = arrayU(j) Then 
    bed_in_use = bed_in_use + 1 

    Cells(i, "Y").Value = bed_in_use 
    End If 
    End If 
+2

Это будет зависеть от вашего объявления массивов. Показать строки декларации. Как и в 'Dim arrayx (...' –

+0

Dim strDate Dim Count As Integer Dim arrayU() As Variant Dim arrayX() As Variant Dim arrayW() As Variant Dim LrowU As Integer Dim LrowX As Integer Dim LrowW As Integer Dim я As Integer Dim J As Integer Dim bed_in_use As Integer – Zapata

+1

не в комментариях, пожалуйста, поставить его в исходном сообщении. –

ответ

0

Проверить this page для получения информации об этой ошибке.

В вашем случае я бы сказал, что это первый вариант:

  • Вы ссылается на несуществующий элемент массива.

Проверьте значения я, г и J не больше, чем то, что массивы, где рассчитана на ...


Либо это, либо:

  • Вы объявили массив, но не указали количество элементов.
Смежные вопросы