при выводе массива на лист выводится только 1 элемент
Udik
Дата: Среда, 01.07.2015, 16:59 |
Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
Собственно в теме всё сказанно, как исправить понять не могу. Здесь просто тестовый массив, реально выводится до 1000000 строк [vba]Код
Public Sub test() Dim arr1(1 To 10) As String Dim i As Byte For i = 1 To 10 arr1(i) = "num: " & i Cells(i, 1).Value = arr1(i) 'строка для контроля выводим в 1 столбец Next i Cells(1, 2).Resize(10).Value = arr1() 'тест строка1 Cells(1, 3).Resize(10) = arr1() 'тест строка2 Cells(1, 4).Resize(10).Value = arr1 'тест строка3 Cells(1, 5).Resize(10) = arr1 'тест строка 4 End Sub
[/vba]
Собственно в теме всё сказанно, как исправить понять не могу. Здесь просто тестовый массив, реально выводится до 1000000 строк [vba]Код
Public Sub test() Dim arr1(1 To 10) As String Dim i As Byte For i = 1 To 10 arr1(i) = "num: " & i Cells(i, 1).Value = arr1(i) 'строка для контроля выводим в 1 столбец Next i Cells(1, 2).Resize(10).Value = arr1() 'тест строка1 Cells(1, 3).Resize(10) = arr1() 'тест строка2 Cells(1, 4).Resize(10).Value = arr1 'тест строка3 Cells(1, 5).Resize(10) = arr1 'тест строка 4 End Sub
[/vba] Udik
К сообщению приложен файл:
test.xlsm
(18.5 Kb)
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Сообщение отредактировал Udik - Среда, 01.07.2015, 17:03
Ответить
Сообщение Собственно в теме всё сказанно, как исправить понять не могу. Здесь просто тестовый массив, реально выводится до 1000000 строк [vba]Код
Public Sub test() Dim arr1(1 To 10) As String Dim i As Byte For i = 1 To 10 arr1(i) = "num: " & i Cells(i, 1).Value = arr1(i) 'строка для контроля выводим в 1 столбец Next i Cells(1, 2).Resize(10).Value = arr1() 'тест строка1 Cells(1, 3).Resize(10) = arr1() 'тест строка2 Cells(1, 4).Resize(10).Value = arr1 'тест строка3 Cells(1, 5).Resize(10) = arr1 'тест строка 4 End Sub
[/vba] Автор - Udik Дата добавления - 01.07.2015 в 16:59
SLAVICK
Дата: Среда, 01.07.2015, 17:03 |
Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация:
766
±
Замечаний:
0% ±
2019
Для одномерных массивов нужно так : [vba]Код
Cells(1, 1).Resize(10) = Application.WorksheetFunction.Transpose(arr1)
[/vba] Для двумерных можно без этого. [vba]Код
Public Sub test() Dim arr1(1 To 10) As String Dim arr2(1 To 10, 1 To 1) As String Dim i As Byte For i = 1 To 10 arr1(i) = "num: " & i arr2(i, 1) = arr1(i) Next i Cells(1, 1).Resize(10) = Application.WorksheetFunction.Transpose(arr1) Cells(1, 2).Resize(10) = arr2 End Sub
[/vba]
Для одномерных массивов нужно так : [vba]Код
Cells(1, 1).Resize(10) = Application.WorksheetFunction.Transpose(arr1)
[/vba] Для двумерных можно без этого. [vba]Код
Public Sub test() Dim arr1(1 To 10) As String Dim arr2(1 To 10, 1 To 1) As String Dim i As Byte For i = 1 To 10 arr1(i) = "num: " & i arr2(i, 1) = arr1(i) Next i Cells(1, 1).Resize(10) = Application.WorksheetFunction.Transpose(arr1) Cells(1, 2).Resize(10) = arr2 End Sub
[/vba] SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение отредактировал SLAVICK - Среда, 01.07.2015, 17:08
Ответить
Сообщение Для одномерных массивов нужно так : [vba]Код
Cells(1, 1).Resize(10) = Application.WorksheetFunction.Transpose(arr1)
[/vba] Для двумерных можно без этого. [vba]Код
Public Sub test() Dim arr1(1 To 10) As String Dim arr2(1 To 10, 1 To 1) As String Dim i As Byte For i = 1 To 10 arr1(i) = "num: " & i arr2(i, 1) = arr1(i) Next i Cells(1, 1).Resize(10) = Application.WorksheetFunction.Transpose(arr1) Cells(1, 2).Resize(10) = arr2 End Sub
[/vba] Автор - SLAVICK Дата добавления - 01.07.2015 в 17:03
Udik
Дата: Среда, 01.07.2015, 17:04 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
попробую сейчас
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Ответить
Сообщение попробую сейчас Автор - Udik Дата добавления - 01.07.2015 в 17:04
Макрописец
Дата: Среда, 01.07.2015, 17:07 |
Сообщение № 4
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 128
Репутация:
7
±
Замечаний:
100% ±
Excel 2010
Зы эта ветка для ФОРМУЛЬНОГО решения. Модераторы, перенесите тему в нужный раздел, пожалуйста. [moder]Что б мы без Вас делали![/moder]
Зы эта ветка для ФОРМУЛЬНОГО решения. Модераторы, перенесите тему в нужный раздел, пожалуйста. [moder]Что б мы без Вас делали![/moder] Макрописец
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Сообщение отредактировал Pelena - Среда, 01.07.2015, 17:25
Ответить
Сообщение Зы эта ветка для ФОРМУЛЬНОГО решения. Модераторы, перенесите тему в нужный раздел, пожалуйста. [moder]Что б мы без Вас делали![/moder] Автор - Макрописец Дата добавления - 01.07.2015 в 17:07
Udik
Дата: Среда, 01.07.2015, 17:07 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
заработало, однако
заработало, однако Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Ответить
Сообщение заработало, однако Автор - Udik Дата добавления - 01.07.2015 в 17:07
Udik
Дата: Среда, 01.07.2015, 17:09 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация:
192
±
Замечаний:
0% ±
Excel 2016 х 64
Зы эта ветка для ФОРМУЛЬНОГО решения
Вроде выбирал Другое, где-то соскочило
Зы эта ветка для ФОРМУЛЬНОГО решения
Вроде выбирал Другое, где-то соскочилоUdik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
Ответить
Сообщение Зы эта ветка для ФОРМУЛЬНОГО решения
Вроде выбирал Другое, где-то соскочилоАвтор - Udik Дата добавления - 01.07.2015 в 17:09
Макрописец
Дата: Среда, 01.07.2015, 17:20 |
Сообщение № 7
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 128
Репутация:
7
±
Замечаний:
100% ±
Excel 2010
Udik , Бывает
ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
Ответить
Сообщение Udik , БываетАвтор - Макрописец Дата добавления - 01.07.2015 в 17:20