Если идти по написанному коду через F8, т.е. пошагово, все нормально работает, проверено: Лист Excel с большими ячейками. При нажатии на любую, сверху и снизу появляется 2 кнопки с разными именами. Нажимаем на след. ячейку, кнопки с предыдущей ячейки исчезают, на них через caption меняются слова на другие из списка, меняются координаты этих кнопок и они появляются над и под этой новой ячейкой. Думаю, ход событий понятен.
Теперь трабла:
На деле кнопки сначала меняют положение, т.е. исчезают, меняют координаты, появляются, а уже потом на них меняются имена. Видно сразу и это страшно раздражает.
По коду:
Private Sub Worksheet_SelectionChange(ByVal target As Range)
...
'Прячем кнопки через другую процедуру с помощью visible=false
Call Показать(0, 0, 0, 0, 0, False)
'задаем имена
CommandButton1.Caption = Имя 1й кнопки
CommandButton2.Caption = Имя 2й кнопки
'передаем в другую процедуру координаты ячейки и даем команду показать кнопки
With target
Call Показать(.Top, .Left, .Width, .Height, target, True)
End With
...
end sub
Понять, из-за чего так происходит, я до сих пор не в состоянии. Мож кто что подскажет.
Теперь трабла:
На деле кнопки сначала меняют положение, т.е. исчезают, меняют координаты, появляются, а уже потом на них меняются имена. Видно сразу и это страшно раздражает.
По коду:
Private Sub Worksheet_SelectionChange(ByVal target As Range)
...
'Прячем кнопки через другую процедуру с помощью visible=false
Call Показать(0, 0, 0, 0, 0, False)
'задаем имена
CommandButton1.Caption = Имя 1й кнопки
CommandButton2.Caption = Имя 2й кнопки
'передаем в другую процедуру координаты ячейки и даем команду показать кнопки
With target
Call Показать(.Top, .Left, .Width, .Height, target, True)
End With
...
end sub
Понять, из-за чего так происходит, я до сих пор не в состоянии. Мож кто что подскажет.