Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с массивом / 4 сообщений из 4, страница 1 из 1
08.11.2010, 23:10
    #36943697
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с массивом
Есть двух мерный массив :
Код: plaintext
ReDim ar(Col, Row)
Где Col –столбец. Row –строка
Массив данных ar был заполнен из txt файла
Массив заполнен правильно (вызывал определенный индекс в массиве, в результате получал правильный ответ)
Затем создаю (открываю) Excel:

Код: plaintext
1.
2.
3.
4.
5.
6.
Dim xlAPP As Excel.Application
Dim xlBook As Excel.Workbook
Dim WS As Excel.Worksheet

Set xlAPP = New Excel.Application
Set xlBook = xlAPP.Workbooks.Add
Set WS = xlBook.Worksheets( 1 )
Передаю массив:

Код: plaintext
WS.Range(WS.Cells( 1 ,  1 ), WS.Cells(Row, Col))= ar

В результате область в екселе заполняется так
(Col1; Row1); (Col1; Row2);(Col1; Row3) и т.д.
(Col2; Row1); (Col2; Row2);(Col2; Row3) и т.д.
и т.д.

А нужно так
(Col1; Row1); (Col2; Row1);(Col3; Row1) и т.д.
(Col1; Row2); (Col2; Row2);(Col3; Row2) и т.д.
и т.д.

если в функции заполнения массива делать явное присвоение в ячейку то все гуд:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set txt = File.OpenAsTextStream(ForReading)
For j =  1  To Row
MyText = txt.ReadLine
    For i =  1  To Col
    WS.Cells(j, i) = Split(MyText, "|")(i)
    Next
Next
txt.Close
Но этот вариант менее скоростной

Поэтому я заполняю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Set txt = File.OpenAsTextStream(ForReading)
For j =  1  To Row
MyText = txt.ReadLine
    For i =  1  To Col
    ar(i, j) = Split(MyText, "|")(i)
    Next
Next
txt.Close
WS.Range(WS.Cells( 1 ,  1 ), WS.Cells(Row, Col))= ar
Но как сказано выше –это дает не правильный результат
...
Рейтинг: 0 / 0
08.11.2010, 23:18
    #36943709
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с массивом
ну и поменяйте местами индексы при заполнении массива - в чем проблема?
...
Рейтинг: 0 / 0
08.11.2010, 23:20
    #36943712
TpaBka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с массивом
Мля тока сам сообразил
Код: plaintext
ReDim ar(Row, Col)
Сорри
...
Рейтинг: 0 / 0
09.11.2010, 08:38
    #36943929
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться с массивом
TpaBka,

а вообще зарезервированные слова юзать как переменные не хорошо.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с массивом / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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