Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Excel, как вывести на лист определенные строки массива / 6 сообщений из 6, страница 1 из 1
16.11.2015, 12:38
    #39104335
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel, как вывести на лист определенные строки массива
VBA Excel:
Есть готовый массив, например
1,2,3,4,5
6,7,8,9,0
9,8,7,6,5
Как вывести содержимое на лист так, чтобы получилось следующее:
1,6,9
2,7,8
3,8,7
4,9,6
5,0,5
Можно ли это сделать без FOR?
Если, да, то подскажите как.
...
Рейтинг: 0 / 0
16.11.2015, 12:42
    #39104344
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel, как вывести на лист определенные строки массива
Bobax012,

Вы хотите транспонировать массив без цикла? Чем вызвана прихоть?
В принципе без проблем должно сработать это:
Код: vbnet
1.
2.
3.
4.
5.
dim arr
'заполнили массив
'....
'теперь "переворачиваем(транспонируем)
arr = application.Transpose(arr)


Но у этого метода есть ограничения:
-не работает с массивами более 65536 строк;
-обрезает текст до 255 символов.
если всегда числа и их не так уж много - проблем не будет.
...
Рейтинг: 0 / 0
16.11.2015, 13:17
    #39104383
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel, как вывести на лист определенные строки массива
The_Prist,

Спасибо за наводку, транспонирование получилось, остался вопрос, как целиком допустим 1 строку полученного массива перенести на 2 столбец листа, потом 2 строку массива на 4 столбец листа.
...
Рейтинг: 0 / 0
16.11.2015, 13:27
    #39104404
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel, как вывести на лист определенные строки массива
Bobax0121 строку ... на 2 столбец листа, потом 2 строку массива на 4 столбец листа.
А вот это уже только построчно заполнять. В цикле.
...
Рейтинг: 0 / 0
16.11.2015, 13:32
    #39104417
Bobax012
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel, как вывести на лист определенные строки массива
AkinaBobax0121 строку ... на 2 столбец листа, потом 2 строку массива на 4 столбец листа.
А вот это уже только построчно заполнять. В цикле.

Да, так и придется видимо.
Спасибо Всем за помощь.
...
Рейтинг: 0 / 0
16.11.2015, 18:39
    #39104881
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VBA Excel, как вывести на лист определенные строки массива
Bobax012, функция листа ИНДЕКС может извлекать строки и столбцы из массива. Но, вероятно, у нее такие же ограничения, как у функции Transpose.
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim arr()
'заполнение массива
arr = [{1,2,3,4,5;6,7,8,9,0;9,8,7,6,5}]
'1 строку на 2 столбец листа
Cells(1, 2).Resize(UBound(arr, 2)).Value = _
  WorksheetFunction.Transpose(WorksheetFunction.Index(arr, 1, 0))
'2 строку массива на 4 столбец листа
Cells(1, 4).Resize(UBound(arr, 2)).Value = _
  WorksheetFunction.Transpose(WorksheetFunction.Index(arr, 2, 0))
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA Excel, как вывести на лист определенные строки массива / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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