Просьба пояснить с кнопками в Excel
От: AndrF Россия  
Дата: 28.03.07 17:55
Оценка:
В ячейках листа расположены кнопки вызывающие одну и ту же процедуру, как узнать:

1. В какой ячейке была нажата кнопка? Или имя/ссылка на кнопку...
2. Имя/подпись этой кнопки?
Re: Просьба пояснить с кнопками в Excel
От: Elena_ Россия  
Дата: 28.03.07 19:30
Оценка:
Здравствуйте, AndrF, Вы писали:

AF>В ячейках листа расположены кнопки вызывающие одну и ту же процедуру, как узнать:


AF>1. В какой ячейке была нажата кнопка? Или имя/ссылка на кнопку...

AF>2. Имя/подпись этой кнопки?

Если речь о кнопках с панели Forms, то что-то типа
    MsgBox Application.Caller
        
    Dim Button As Object
    Set Button = ActiveSheet.Buttons(Application.Caller)
    MsgBox Button.Caption
    MsgBox Button.Left & " " & Button.Top
    MsgBox ActiveSheet.Cells(5, 2).Left & " " & ActiveSheet.Cells(5, 2).Top

К ячейкам кнопки не привязаны, можно просто сравнить их местоположение с координатами ячеек, они в одних единицах
Пользователь — друг программиста!
Re[2]: Просьба пояснить с кнопками в Excel
От: AndrF Россия  
Дата: 29.03.07 09:28
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>К ячейкам кнопки не привязаны, можно просто сравнить их местоположение с координатами ячеек, они в одних единицах


Юзер скопировал кнопку теперь их две.
И как мне определить какая из них была нажата, ведь имя-то у них одно.
И TopLeftCell один и тот-же, хотя кнопки в разных ячейках...
Re[3]: Просьба пояснить с кнопками в Excel
От: Elena_ Россия  
Дата: 29.03.07 11:52
Оценка:
Здравствуйте, AndrF, Вы писали:

AF>Юзер скопировал кнопку теперь их две.

AF>И как мне определить какая из них была нажата, ведь имя-то у них одно.
AF>И TopLeftCell один и тот-же, хотя кнопки в разных ячейках...

Что-то я не совсем понимаю ситуацию. Если это пользователи так резвятся, может быть, имеет смысл удалить вторую кнопку и поставить защиту с паролем на объекты листа? Если это рабочая ситуация, то имя не может быть одно, это ключ в коллекции, совпадают только подписи. Имя — Application.Caller, про подписи — видно из кода. Если кнопки расположены в разных местах, то координаты не могут совпадать. Кнопки вообще не в ячейках, а просто на листе.

Это все относится к кнопкам с панели Forms. Кнопки с панели Элементы управления имеют просто обработчики событий, может быть, это какие-то сторонние ActiveX?
Пользователь — друг программиста!
Re[4]: Просьба пояснить с кнопками в Excel
От: AndrF Россия  
Дата: 29.03.07 12:55
Оценка:
Здравствуйте, Elena_, Вы писали:

E_>Что-то я не совсем понимаю ситуацию. Если это пользователи так резвятся, может быть


Пользователи пока еще не резвятся. Мне просто была интересна сама ситуация...
Сейчас просто добавляю в новые записи эти кнопки из кода, давая каждой уникальное имя.
В принципе тоже нормальное решение.

P.S
Сам я с Excel-ем работаю пару раз в год — сейчас просто менеджер попрсил помочь с данной проблемой...
Re[5]: Просьба пояснить с кнопками в Excel
От: Elena_ Россия  
Дата: 29.03.07 13:06
Оценка:
Здравствуйте, AndrF, Вы писали:

AF>Пользователи пока еще не резвятся. Мне просто была интересна сама ситуация...

AF>Сейчас просто добавляю в новые записи эти кнопки из кода, давая каждой уникальное имя.

Попробуйте скопировать и в назначенном макросе вызвать caller, Вы увидите, что имя само изменилось. Это две различные кнопки, и конечно, Excel их различает.

А чтобы не беспокоиться из-за некорректных действий пользователя, лучше поставить защиту. Правда, мои пользователи, к примеру, скорее лишний раз перезвонят перед тем, как нажать на кнопку. А копировать им и в голову не придет.
Пользователь — друг программиста!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.