Запись данных из одного массива в другой, ошибка "Subscript out of range" - VBA

Узнай цену своей работы

Формулировка задачи:

Друзья, помогите разобрать в причине ошибки, которую выдает компилятор при попытке записать в один массив данные из другого:
Листинг программы
  1. Sub slovosoch()
  2. n = 1
  3. Worksheets(1).Activate
  4. Dim Arr()
  5. Dim Str
  6. Str = Split(Cells(2, 4))
  7.  
  8. For k = LBound(Str) To UBound(Str)
  9. per = (2 ^ (k + 1)) / 2
  10. For j = LBound(Str) To 2 ^ (UBound(Str) + 1) - 1
  11.  
  12. If n <= per Then
  13. Arr(j, k) = Str(k)
  14. n = n + 1
  15. ElseIf n > per Then
  16. For v = j To j + per - 1
  17. Arr(v, k) = "___"
  18. Next v
  19. j = j + per - 1
  20. n = n - per
  21. End If
  22. ' If n <= per Then
  23. ' Cells(j + 1, k + 6) = Str(k)
  24. ' n = n + 1
  25. ' ElseIf n > per Then
  26. ' For v = j To j + per - 1
  27. ' Cells(v + 1, k + 6) = "___"
  28. ' Next v
  29. ' j = j + per - 1
  30. ' n = n - per
  31. ' End If
  32. Next j
  33. Next k
  34. End Sub
Ошибку выдает на строке
Листинг программы
  1. Arr(j, k) = Str(k)
с надписью "Subscript out of range"

Решение задачи: «Запись данных из одного массива в другой, ошибка "Subscript out of range"»

textual
Листинг программы
  1. Redim Arr(2 ^ (UBound(Str) + 1) - 1 ,UBound(Str))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы