powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / не могу занести значения в двухмерный динамический массив
3 сообщений из 3, страница 1 из 1
не могу занести значения в двухмерный динамический массив
    #35084197
evgenius_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, почему не работает следующий код?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
Sub RxStatProc()

'заполнение динамического массива, вывод значений на лист
Dim arr_r As Integer            ' номер строки в массиве
Dim arr_c As Integer            ' номер столбца в массиве



Dim RowCntr As Single  ' всего строк
Dim ColCntr As Single  ' всего колонок
Dim MyArr() As Variant   ' объявил динамический массив

Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
RowCntr = Selection.Rows.Count
ColCntr = Selection.Columns.Count

Debug.Print RowCntr
Debug.Print ColCntr

arr_r =  0 
arr_c =  0 

ReDim MyArr( 0  To arr_r,  0  To arr_c)
' определил размерность динамического массива

For arr_r =  0  To RowCntr -  1 
    For arr_c =  0  To ColCntr -  1 
    ReDim Preserve MyArr(arr_r, arr_c)
    ' переопределил границы динамического массива, сохранив значения существующих элементов
    MyArr(arr_r, arr_c) = ActiveCell.Offset(arr_r, arr_c).Value
    Debug.Print MyArr(arr_r, arr_c)
    Next arr_c
Next arr_r


' вывод массива
Worksheets( 1 ).Add
Range("A1").Select
For i =  0  To UBound(MyArr,  1 )
    For k =  0  To UBound(MyArr,  2 )
    ActiveCell.Offset(i, k).Value = MyArr(i, k)
    Next k
Next i
End Sub

Затыкается на вводе второй строки массива.
Помогите разъяснением, плиз.

З.Ы. Я выполню задачу через другое место, но блин интересно, где засада с двухмерными динамическими массивами.
...
Рейтинг: 0 / 0
не могу занести значения в двухмерный динамический массив
    #35084399
Фотография PA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
If you use the Preserve keyword, you can resize only the last array dimension and you can't change the number of dimensions at all. For example, if your array has only one dimension, you can resize that dimension because it is the last and only dimension. However, if your array has two or more dimensions, you can change the size of only the last dimension and still preserve the contents of the array.
...
Рейтинг: 0 / 0
не могу занести значения в двухмерный динамический массив
    #35084430
evgenius_b
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Thnx.
Сразу в справке не заметил.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / не могу занести значения в двухмерный динамический массив
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]