Как заст. кнопку на листе EXCEL не перемещ. при прокр. листа

Программирование на Visual Basic for Applications
lamden
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 04.04.2004 (Вс) 15:48

Как заст. кнопку на листе EXCEL не перемещ. при прокр. листа

Сообщение lamden » 04.04.2004 (Вс) 23:51

Извините, еще один ламерский вопрос - можно ли сделать так, чтобы кнопочка, находящаяся на EXCEL'овском листе, оставалась на месте при прокрутке листа (т.е. - как бы "плавала" над ним, оставаясь в одном и том же месте экрана, независимо от перемещений листа прокруткой (особенно - вертикальной).
Будучи совершенным чайником в VBA, приношу заранее извинения, если сочтете вопрос дурацким...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.04.2004 (Пн) 9:06

Сделай область, на которой размещена кнопка, закрепленной.
Lasciate ogni speranza, voi ch'entrate.

lamden
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 04.04.2004 (Вс) 15:48

Сообщение lamden » 06.04.2004 (Вт) 1:15

К сожалению - это не совсем то - в этом случае верхушка (или, наоборот, низ или левая или правая сторона становятся неподвижной. а остальная часть движется, причем- без закрепленной... Вроде, как ухудшенный вариант фреймов. А хотелось бы, чтобы кнопка оставалась на месте, а лист прокручивался под ней... Ну и что, помечтать нельзя бедному ламеру?!.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 06.04.2004 (Вт) 9:09

Тогда сделай не кнопку на листе (Control), а панель инструментов и выведи на нее кнопку, это будет то, что тебе надо.
Lasciate ogni speranza, voi ch'entrate.

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 07.04.2004 (Ср) 15:43

Интересный вопрос, хотя полноценного ответа на него я тоже не нашел. Хотя если бы у объекта Worksheet было бы событие Scroll (или MouseMove), то все бы разрешилось. Мне все-таки удалось привязать координаты кнопки к экселевскому листу (может я кого-то и не удивлю), но перемещаю эту кнопку только при помощи события Worksheet_SelectionChange (допустим, ну или можно Workbook_SheetSelectionChange)
Код: Выделить всё
If ActiveWindow.VisibleRange.Row = 1 Then 'если видна на экране первая строка
Sheets(2).CommandButton1.Top = 50   
End
end if
rrr=Rows(1 & ":" & ActiveWindow.VisibleRange.Row - 1).Height
Sheets(2).CommandButton1.Top = rrrr + 50   ' опускаем на 50 единиц вниз

Правда кнопка дрожит, как-будто ее раздели на северном полюсе :lol:
А как горизонтально перемещать - сами догадаетесь
ЗЫ У меня на последок вопрос, а нельзя ли для листов экселевской книги создать события Scroll и MouseMove :?:
ЗЫ2 Да, забыл пояснить - кнопка то из элементов управления.......
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 79

    TopList