Добрый день. Нужна помощь. На отдельном листе находиться содержимое ListBox. Задумано его скрыть (Лист2) и работать через форму на другом листе (Лист1). Добавление в ListBox работает, а вот удаляет строки именно на том листе, на котором запущена форма. Как сделать так, что бы удаление происходило с любого листа? Заранее спасибо.
Удаление выделенной позиции в ListBox с другого листа
06.03.2021 21:51:38
|
|
|
|
06.03.2021 22:01:21
Не бойтесь совершенства. Вам его не достичь.
|
|
|
|
06.03.2021 22:10:39
Mershik, почти. Предварительно выбрать либо активировать:
Sheets("Лист2").Activate ActiveSheet.Rows(ListBox1.ListIndex + 1).Delete Но может есть ещё варианты? |
|
|
|
06.03.2021 22:13:00
Дмитрий Баранов, я не знаю другого) может кто подскажет, но все равно запускать форму на листе на котором нужно удалить
Не бойтесь совершенства. Вам его не достичь.
|
|
|
|
06.03.2021 22:18:29
Mershik, это форма в форме. Задумка сделать управление с одной формы и для пользователей с кривыми руками, которые могут поудалять всё подряд. Полностью блокировка от неверных действий, что б даже символы лишние не смогли ввести. Рядом с полем выбора заказчика будет кнопка формы Добавления/удаления.
Спасибо за помощь. |
|
|
|
06.03.2021 22:26:54
Дмитрий Баранов, ну не понятно что-то тогда что вы хотите? если вы запускаете форму на листе од то и удалять будете там же ? или как то и аче?
Не бойтесь совершенства. Вам его не достичь.
|
|
|
|
06.03.2021 22:33:12
Mershik,форма с удалением запускается на одном листе, содержимое ListBox на другом (скрытом листе)
|
|
|
|
06.03.2021 22:37:05
А удалять на каком ?тот и пропишите ...
Не бойтесь совершенства. Вам его не достичь.
|
|
|
|
06.03.2021 22:38:25
Mershik, думаю так будет правильно.
Sheets("Лист2").Activate ActiveSheet.Rows(ListBox1.ListIndex + 2).Delete Sheets("Лист1").Select И лист не маячит и возвращается на основной. Нужен был ответ специалистов. Спасибо.
Изменено: |
|
|
|
07.03.2021 02:10:14
Nordheim,Спасибо. Я так пробовал, не зашло( Щас всё работает. Странно)
|
|
|
|
07.03.2021 11:07:11
Что не так то?! Может кто поможет разобраться. Если указывать заполнение ListBox через RowSource, то всё работает, но не показывает добавленное сразу в списке, надо перезапустить. А ели через ControlSource, то добавленное показывает сразу, но выбивает сам эксель по неизвестным мне причинам(
Если добавить команду заполнения после добавления, то в принципе всё работает, но может есть способ всё таки через таблицу, что бы не было пустых строк. |
|
|
|
07.03.2021 11:36:28
Или как в случае заполнения через RowSource убрать пустые строки с Listbox? Не могу допереть(
Всё работает, осталась только эта неприятная болячка(
Изменено: |
|
|
|
08.03.2021 00:33:09
Ничего не понял, что именно не работает, но возможно этот вариант подойдет.
Еще вариант, немного упрощенный, но с тем же функционалом
Изменено:
"Все гениальное просто, а все простое гениально!!!"
|
|
|
|
08.03.2021 00:50:14
Nordheim, круто!!! Большое спасибо!
|
||||
|
|
|||