Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/при выводе массива на лист выводится только 1 элемент - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » при выводе массива на лист выводится только 1 элемент (Формулы/Formulas)
при выводе массива на лист выводится только 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]
К сообщению приложен файл: 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
Для одномерных массивов нужно так :D :
[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:08
 
Ответить
СообщениеДля одномерных массивов нужно так :D :
[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]


ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!

Сообщение отредактировал 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
заработало, однако %)


вот вам барабан
яд 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
Цитата Макрописец, 01.07.2015 в 17:07, в сообщении № 4
Зы эта ветка для ФОРМУЛЬНОГО решения

Вроде выбирал Другое, где-то соскочило


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
Сообщение
Цитата Макрописец, 01.07.2015 в 17:07, в сообщении № 4
Зы эта ветка для ФОРМУЛЬНОГО решения

Вроде выбирал Другое, где-то соскочило

Автор - Udik
Дата добавления - 01.07.2015 в 17:09
Макрописец Дата: Среда, 01.07.2015, 17:20 | Сообщение № 7
Группа: Заблокированные
Ранг: Форумчанин
Сообщений: 128
Репутация: 7 ±
Замечаний: 100% ±

Excel 2010
Udik,
Бывает


ТЕРПЕНИЕ И ТРУД - ВСЁ ПЕРЕТРУТ!
 
Ответить
СообщениеUdik,
Бывает

Автор - Макрописец
Дата добавления - 01.07.2015 в 17:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » при выводе массива на лист выводится только 1 элемент (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!