Функция Transpose() выдает ошибку Type mismatch при попытке вывести массив с числом элементов более 65536. Можно это как-то обойти, задействовать другой способ быстрого вывода одномерного массива на лист, или только перебором?
[vba]
Код
Public Sub test() Dim arr1(1 To 65537) As String Dim arr2(1 To 100) As String
For i = 1 To 10 arr1(i) = "arr1: " & i arr2(i) = "arr2: " & i Cells(i, 1).Value = arr1(i) 'строка для контроля выводится в 1 столбец Cells(i, 2).Value = arr2(i) 'строка для контроля выводится во 2 столбец Next i
Функция Transpose() выдает ошибку Type mismatch при попытке вывести массив с числом элементов более 65536. Можно это как-то обойти, задействовать другой способ быстрого вывода одномерного массива на лист, или только перебором?
[vba]
Код
Public Sub test() Dim arr1(1 To 65537) As String Dim arr2(1 To 100) As String
For i = 1 To 10 arr1(i) = "arr1: " & i arr2(i) = "arr2: " & i Cells(i, 1).Value = arr1(i) 'строка для контроля выводится в 1 столбец Cells(i, 2).Value = arr2(i) 'строка для контроля выводится во 2 столбец Next i
Потому что в реальной задаче у меня массив строк под 1 лям, и его надо показать весь. Можно в отдельный файл, но это будет не так красиво для конечного пользователя.
Потому что в реальной задаче у меня массив строк под 1 лям, и его надо показать весь. Можно в отдельный файл, но это будет не так красиво для конечного пользователя. Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Udik, у функции Transpose есть ограничения, аргумент - массив не может содержать больше 65536 элементов. Если нужно транспонировать такой большой массив, попробуйте UDF
Udik, у функции Transpose есть ограничения, аргумент - массив не может содержать больше 65536 элементов. Если нужно транспонировать такой большой массив, попробуйте UDFManyasha
Да мне главное было вывести массив на лист, трюк с псевдодвумерным массивом сработал. Транспонирование я использовал только из-за того, что одномерные массивы напрямую не хотели выводиться.
Да мне главное было вывести массив на лист, трюк с псевдодвумерным массивом сработал. Транспонирование я использовал только из-за того, что одномерные массивы напрямую не хотели выводиться.Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Сообщение отредактировал Serge_007 - Среда, 01.07.2015, 22:18
Udik, Может, если вы изложите суть всей объёмной задачи, для коей делаете массивы, Вам предложат более рациональное решение, и даже возможно без массивов.
Udik, Может, если вы изложите суть всей объёмной задачи, для коей делаете массивы, Вам предложат более рациональное решение, и даже возможно без массивов.Макрописец
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Сообщение отредактировал Макрописец - Среда, 01.07.2015, 21:07
Ну пожалуйста. Есть строка, её определённым образом надо обработать, в результате получаются различные варианты на выходе. Нужно предоставить все возможные варианты. Можно выводить каждый вариант сразу на лист и обойтись без массива, но тогда возрастёт количество обращений к ячейкам. Количество вариантов - степень двойки от колиества знаков, т.е. при 20 становится больше 1 000 000.
Ну пожалуйста. Есть строка, её определённым образом надо обработать, в результате получаются различные варианты на выходе. Нужно предоставить все возможные варианты. Можно выводить каждый вариант сразу на лист и обойтись без массива, но тогда возрастёт количество обращений к ячейкам. Количество вариантов - степень двойки от колиества знаков, т.е. при 20 становится больше 1 000 000.Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Сообщение отредактировал Serge_007 - Среда, 01.07.2015, 22:18