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

Вход

Регистрация

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

 

= Мир MS Excel/Выгрузка из таблицы в листбокс по выбору в текстбоксе - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выгрузка из таблицы в листбокс по выбору в текстбоксе (Макросы/Sub)
Выгрузка из таблицы в листбокс по выбору в текстбоксе
Raven2009 Дата: Вторник, 18.02.2020, 22:48 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день.

Есть проблема с выгрузкой данных из таблицы через массив в листбокс по выбору значения из текстбокса.

На листе кнопка. По кнопке появляется форма. В форме вводится номер суппорта (номер в колонке 4 в таблице с нулями впереди). Далее после ввода и нажатия на Ентер массив с данными выбранного суппорта копируется на 2ой лист и форма сворачивается (тут нормально работает)

Далее автомаически должна открываться другая форма и на листбокс на ней должна подгружаться инф с этого самого второго листа, код на активации той формы, макрос UpdateLP. Но при заполнении листбокса появляется ошибка.
Что я упустил, подскажите пож-ста. Заранее спасибо))
К сообщению приложен файл: test2.xlsm(132.4 Kb)
 
Ответить
СообщениеДобрый день.

Есть проблема с выгрузкой данных из таблицы через массив в листбокс по выбору значения из текстбокса.

На листе кнопка. По кнопке появляется форма. В форме вводится номер суппорта (номер в колонке 4 в таблице с нулями впереди). Далее после ввода и нажатия на Ентер массив с данными выбранного суппорта копируется на 2ой лист и форма сворачивается (тут нормально работает)

Далее автомаически должна открываться другая форма и на листбокс на ней должна подгружаться инф с этого самого второго листа, код на активации той формы, макрос UpdateLP. Но при заполнении листбокса появляется ошибка.
Что я упустил, подскажите пож-ста. Заранее спасибо))

Автор - Raven2009
Дата добавления - 18.02.2020 в 22:48
Raven2009 Дата: Среда, 19.02.2020, 07:39 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Я прошу прощения. Задал вопрос и выложил поломанный вариант. Вот тестовая версия. Подскажите пожалуйста)
К сообщению приложен файл: test3.xlsm(120.0 Kb)
 
Ответить
СообщениеЯ прошу прощения. Задал вопрос и выложил поломанный вариант. Вот тестовая версия. Подскажите пожалуйста)

Автор - Raven2009
Дата добавления - 19.02.2020 в 07:39
Pelena Дата: Среда, 19.02.2020, 09:05 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Не уверена, что правильно поняла. Проверьте
К сообщению приложен файл: 2758113.xlsm(91.1 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНе уверена, что правильно поняла. Проверьте

Автор - Pelena
Дата добавления - 19.02.2020 в 09:05
Raven2009 Дата: Среда, 19.02.2020, 11:26 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Проверьте


Спасибо, вы правильно поняли) Первые разы норм работало, но потом стало выдавать ошибку на моменте записи данных с первого листа на второй лист.

[vba]
Код
With ObjForCheck.DataBodyRange
        .Cells(LRf, 1).Resize(UBound(res), UBound(res, 2)) = res
    End With
[/vba]

Макрос LoadForCheck. Из-за чего это может быть. Увидел, что массив теперь через databodyrange записывается)

Ааааа, вот в чем дело. Я почистил умную таблицу. То есть последняя строка стала нулевой....


Сообщение отредактировал Raven2009 - Среда, 19.02.2020, 11:29
 
Ответить
Сообщение
Проверьте


Спасибо, вы правильно поняли) Первые разы норм работало, но потом стало выдавать ошибку на моменте записи данных с первого листа на второй лист.

[vba]
Код
With ObjForCheck.DataBodyRange
        .Cells(LRf, 1).Resize(UBound(res), UBound(res, 2)) = res
    End With
[/vba]

Макрос LoadForCheck. Из-за чего это может быть. Увидел, что массив теперь через databodyrange записывается)

Ааааа, вот в чем дело. Я почистил умную таблицу. То есть последняя строка стала нулевой....

Автор - Raven2009
Дата добавления - 19.02.2020 в 11:26
Raven2009 Дата: Среда, 19.02.2020, 11:46 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Как тут быть? Если таблица на втором листе изначально пустая, выдает ошибку
К сообщению приложен файл: test4.xlsm(80.6 Kb)
 
Ответить
СообщениеКак тут быть? Если таблица на втором листе изначально пустая, выдает ошибку

Автор - Raven2009
Дата добавления - 19.02.2020 в 11:46
Pelena Дата: Среда, 19.02.2020, 15:27 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

Excel 2016 & Mac Excel
Так?
К сообщению приложен файл: 5512343.xlsm(89.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТак?

Автор - Pelena
Дата добавления - 19.02.2020 в 15:27
Raven2009 Дата: Среда, 19.02.2020, 19:09 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 151
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Да все так. Спасибо вам!))

Раз уж была поправка в коде с добавлением на лист, может подскажете, как копировать из массива только некоторые значения в таблицу, а не все?))
Например в столбцы с A по D, одни итэмы из массива, с E по K, другие и тп.

что в этом коде поправить нужно?
[vba]
Код
    With ObjForCheck.DataBodyRange
        .Cells(LRf, 1).Resize(UBound(res), UBound(res, 2)) = res
    End With
[/vba]


Сообщение отредактировал Raven2009 - Среда, 19.02.2020, 19:27
 
Ответить
СообщениеДа все так. Спасибо вам!))

Раз уж была поправка в коде с добавлением на лист, может подскажете, как копировать из массива только некоторые значения в таблицу, а не все?))
Например в столбцы с A по D, одни итэмы из массива, с E по K, другие и тп.

что в этом коде поправить нужно?
[vba]
Код
    With ObjForCheck.DataBodyRange
        .Cells(LRf, 1).Resize(UBound(res), UBound(res, 2)) = res
    End With
[/vba]

Автор - Raven2009
Дата добавления - 19.02.2020 в 19:09
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выгрузка из таблицы в листбокс по выбору в текстбоксе (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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