Профессиональные приемы работы в Microsoft Excel

Обмен опытом => Microsoft Excel => Тема начата: SergioGach от 28.02.2015, 19:54

Название: Перенос данных массивом с ListBox в таблицу
Отправлено: SergioGach от 28.02.2015, 19:54
Доброго вечера всем.
Прошу подсказки куда рыть и по возможности помощи. Я в тупике.
Задача: На UserForm1 вписывается название, ед.изм, количество (только цифры) и кнопкой "Добавить" переносится в ListBox ( три колонки). В ListBoх может быть от 1 до 20 строк. Пытаюсь данные ListBoх массивом перенести на лист "Список1" в соответствующие колонки.
Возможно нужно не через массив, а построчно переносить.
Буду рад любой подсказке.
Название: Re: Перенос данных массивом с ListBox в таблицу
Отправлено: SergioGach от 01.03.2015, 09:53
Решено. Спасибо за помощь krosav4ig на другом форуме.
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
Название: Re: Перенос данных массивом с ListBox в таблицу
Отправлено: Serge 007 от 01.03.2015, 10:50
Кросс: http://www.excelworld.ru/forum/10-16129-1