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

Вход

Регистрация

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

 

= Мир MS Excel/Как сделать что бы через форму загрузить данные в ListBox - Мир MS Excel

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

Excel 2016
Есть форма в который при наведении на строку в ListBox данные уходят в поля для редактирования и по идеи после нажатия на кнопку "Изменит данные" должны меняться, но меняется только значение "телефон". Не могу понять что не так с кодом, вроде все аналогично сделано.

[vba]
Код
Dim KlientEdit As Range
Dim ShKlient As Worksheet
Dim KlientListObj As ListObject
Dim KlientListRow As ListRow

    Set ShKlient = ThisWorkbook.Worksheets("Клиенты")
    Set KlientListObj = ShKlient.ListObjects("fiz_klienty_tb")
           
    Set KlientEdit = KlientListObj.ListColumns.Item(1).Range.Find(Klienty.txt_nomer_klienta, LookAt:=xlWhole)

    If Not KlientEdit Is Nothing Then 'Если найден клиент
    KlientEdit.Cells(1, 2) = Me.txt_tel.Value
    KlientEdit.Cells(1, 3) = Me.txt_FIO.Value
    KlientEdit.Cells(1, 4) = Me.Combo_istochik.Value
End If
[/vba]
К сообщению приложен файл: 4715759.xlsm (27.1 Kb)


Сообщение отредактировал Pavel1155 - Пятница, 25.01.2019, 14:17
 
Ответить
СообщениеЕсть форма в который при наведении на строку в ListBox данные уходят в поля для редактирования и по идеи после нажатия на кнопку "Изменит данные" должны меняться, но меняется только значение "телефон". Не могу понять что не так с кодом, вроде все аналогично сделано.

[vba]
Код
Dim KlientEdit As Range
Dim ShKlient As Worksheet
Dim KlientListObj As ListObject
Dim KlientListRow As ListRow

    Set ShKlient = ThisWorkbook.Worksheets("Клиенты")
    Set KlientListObj = ShKlient.ListObjects("fiz_klienty_tb")
           
    Set KlientEdit = KlientListObj.ListColumns.Item(1).Range.Find(Klienty.txt_nomer_klienta, LookAt:=xlWhole)

    If Not KlientEdit Is Nothing Then 'Если найден клиент
    KlientEdit.Cells(1, 2) = Me.txt_tel.Value
    KlientEdit.Cells(1, 3) = Me.txt_FIO.Value
    KlientEdit.Cells(1, 4) = Me.Combo_istochik.Value
End If
[/vba]

Автор - Pavel1155
Дата добавления - 25.01.2019 в 10:35
Karataev Дата: Пятница, 25.01.2019, 22:51 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация: 533 ±
Замечаний: 0% ±

Excel
Щелчок по кнопке "Изменить данные" запускает кроме события "btn_add_Click" еще и событие "List_klienty_Click".
Чтобы этого не было, нужно изменить событие на другое (на какое, я не знаю). Если такое невозможно, то используйте модульную переменную.
Я сделал в Вашем коде модульную переменную, она находится в самом верху модуля.

Также я сделал событие "UserForm_Initialize", оно подготавливает к работе переменную "boolEnableEvents".
К сообщению приложен файл: 4715759-kar.xlsm (27.9 Kb)
 
Ответить
СообщениеЩелчок по кнопке "Изменить данные" запускает кроме события "btn_add_Click" еще и событие "List_klienty_Click".
Чтобы этого не было, нужно изменить событие на другое (на какое, я не знаю). Если такое невозможно, то используйте модульную переменную.
Я сделал в Вашем коде модульную переменную, она находится в самом верху модуля.

Также я сделал событие "UserForm_Initialize", оно подготавливает к работе переменную "boolEnableEvents".

Автор - Karataev
Дата добавления - 25.01.2019 в 22:51
Pavel1155 Дата: Суббота, 26.01.2019, 08:01 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Спасибо огромное, то что нужно! Оказалось все так просто!
Век живи, век учись!!!)))
 
Ответить
СообщениеСпасибо огромное, то что нужно! Оказалось все так просто!
Век живи, век учись!!!)))

Автор - Pavel1155
Дата добавления - 26.01.2019 в 08:01
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как сделать что бы через форму загрузить данные в ListBox (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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