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

Вход

Регистрация

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

 

= Мир MS Excel/Перенос данных массивом с ListBox в таблицу - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных массивом с ListBox в таблицу (Макросы/Sub)
Перенос данных массивом с ListBox в таблицу
SergioGach Дата: Суббота, 28.02.2015, 20:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго вечера всем.
Прошу подсказки куда рыть и по возможности помощи. Я в тупике.
Задача: На UserForm1 вписывается название, ед.изм, количество (только цифры) и кнопкой "Добавить" переносится в ListBox ( три колонки). В ListBoх может быть от 1 до 20 строк. Пытаюсь данные ListBoх массивом перенести на лист "Список1" в соответствующие колонки.
Возможно нужно не через массив, а построчно переносить.
Буду рад любой подсказке.
К сообщению приложен файл: ___1.xlsm (63.8 Kb)
 
Ответить
СообщениеДоброго вечера всем.
Прошу подсказки куда рыть и по возможности помощи. Я в тупике.
Задача: На UserForm1 вписывается название, ед.изм, количество (только цифры) и кнопкой "Добавить" переносится в ListBox ( три колонки). В ListBoх может быть от 1 до 20 строк. Пытаюсь данные ListBoх массивом перенести на лист "Список1" в соответствующие колонки.
Возможно нужно не через массив, а построчно переносить.
Буду рад любой подсказке.

Автор - SergioGach
Дата добавления - 28.02.2015 в 20:11
krosav4ig Дата: Суббота, 28.02.2015, 22:17 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
так нужно?
[vba]
Код
Sub ЗаповСпис()
     Dim n&, arr(), number$
     With UserForm1
         If .TextBox1.Value = "" Then MsgBox "Поставте дату": Exit Sub Else
         If .ListBox1.ListCount = 0 Then MsgBox "Список цінностей порожній": Exit Sub Else
         number = Str(.TextBox1)
         arr = Array(number, .TextBox2, .ComboBox1, .ComboBox2, .ComboBox3)
         With Sheets("Список")
             n = .Cells(.Rows.Count, 1).End(xlUp).Row
             .[A1:E1].Offset(n).Value = arr
         End With
         arr = .ListBox1.List
         With Sheets("Список1")
             n = .Cells(.Rows.Count, 1).End(xlUp).Row
             With .[B1:D1].Offset(n).Resize(UBound(arr) + 1)
                 .Value = arr: .Offset(, -1).Resize(, 1) = number
             End With
         End With
     End With
     Unload UserForm1
End Sub
[/vba]
К сообщению приложен файл: _1.xlsm (39.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 28.02.2015, 22:19
 
Ответить
Сообщениетак нужно?
[vba]
Код
Sub ЗаповСпис()
     Dim n&, arr(), number$
     With UserForm1
         If .TextBox1.Value = "" Then MsgBox "Поставте дату": Exit Sub Else
         If .ListBox1.ListCount = 0 Then MsgBox "Список цінностей порожній": Exit Sub Else
         number = Str(.TextBox1)
         arr = Array(number, .TextBox2, .ComboBox1, .ComboBox2, .ComboBox3)
         With Sheets("Список")
             n = .Cells(.Rows.Count, 1).End(xlUp).Row
             .[A1:E1].Offset(n).Value = arr
         End With
         arr = .ListBox1.List
         With Sheets("Список1")
             n = .Cells(.Rows.Count, 1).End(xlUp).Row
             With .[B1:D1].Offset(n).Resize(UBound(arr) + 1)
                 .Value = arr: .Offset(, -1).Resize(, 1) = number
             End With
         End With
     End With
     Unload UserForm1
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 28.02.2015 в 22:17
SergioGach Дата: Суббота, 28.02.2015, 23:01 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Да, работает просто превосходно.
Решение элегантное, мне к такому еще учиться, тренироваться и вряд ли что подобное будет.
Спасибо, буду разбирать код.
 
Ответить
СообщениеДа, работает просто превосходно.
Решение элегантное, мне к такому еще учиться, тренироваться и вряд ли что подобное будет.
Спасибо, буду разбирать код.

Автор - SergioGach
Дата добавления - 28.02.2015 в 23:01
Serge_007 Дата: Воскресенье, 01.03.2015, 10:50 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеКросс: http://forum.msexcel.ru/index.php/topic,10857.0.html

Автор - Serge_007
Дата добавления - 01.03.2015 в 10:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос данных массивом с ListBox в таблицу (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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