Я назначил макрос нескольким кнопкам.vba button - find, который был нажат
Как я могу узнать внутри макроса, на какую кнопку нажали?
Я делаю как форма пользователя, где он может ввести народы от семьи:
name1:
surname1:
name2:
surname2:| добавить следующий элемент |
Я хочу, чтобы кнопка появлялась всегда в последней строке последнего добавленного лица. Для простоты я думаю, что лучше иметь 100 пустых форм на листе , но все невидимые в начале.
Затем, когда пользователь нажимает на добавление следующего члена, я просто делаю следующие строки видимыми, и перемещаю кнопку для следующего человека. Но для этого мне нужно знать мое текущее положение.
Как и при удалении, я бы сделал строки невидимыми при нажатии кнопки удаления.
name1:
surname1:[убрать]
name2:
surname2:[убрать]
name3:
surname3:| добавить следующий член |
Мне нужно знать, какая кнопка удаления была нажата.
EDIT: Найдены в сети - то, что вы думаете, кажется, лучшим/сторонней
Dim r As Range
Set r = ActiveSheet.Buttons(Application.Caller).TopLeftCell
Range(Cells(r.Row, r.Column), Cells(r.Row, r.Column)).Select
Чтобы уточнить ваше изменение, кажется, что у вас есть только один набор кнопок, но вы продолжаете их перемещать. Так что вам действительно нужно знать, как позиционировать кнопки подряд. Это оно? –
I количество кнопок «удалить», а также кнопку «добавить». – Gadolin
ОК, я нашел, как получить кнопку, но похоже, что вы ее уже нашли. Вы можете упростить инструкцию Select, но она выглядит нормально. –