Я написал некоторый код, который манипулирует целевой ячейкой, когда пользователь дважды щелкает по ней. Код прекрасно работает для большинства ячеек на листе.
Но рабочий лист защищен (доступны только разблокированные ячейки), и если пользователь дважды щелкает одну из заблокированных ячеек, код выполняется так, как если бы эта ячейка была выбрана во время двойного щелчка. произошло) был один дважды щелкнул.
Кто-нибудь может придумать способ распознать, что двойной щелчок происходит на заблокированной ячейке? Спасибо.
Я думаю, что Мате неправильно понимает проблему. Я могу смоделировать это. Дело в том, что если вы дважды щелкнете за пределами ячеек, которые можно выбрать, макрос запустится для ячейки, которая все еще выбрана в пределах разблокированного диапазона. Я не нашел решения, хотя ;-)
—
Joost
Я сделал еще несколько испытаний, но все еще безрезультатно :-( Я добавил
—
Joost
MsgBox Target.Address
в событии doubleClick, чтобы узнать, откуда оно инициируется, а затем отключить выбор .EnableSelection = xlNoSelection
, но это все равно даст мне только разблокированные ячейки, когда я нажму на заблокированную ячейку. Я пробовал другие события, но все они не запускаются при нажатии заблокированной части. Так жаль!
BeforeDoubleClick
показывает правильную информацию. Если я не включаю выбор заблокированных ячеек, только разблокированный, чем Excel, не работает правильно, и я просто не могу ничего выбрать, это, вероятно, не связано с VBA. Я использую Excel 2013. Может быть, вы могли бы поделиться более подробной информацией о том, как именно вы испытываете проблему.