Страницы: 1
RSS
Перемещение объекта(кнопки\выключателя) вместе с вертикальным скролом,
 
Вопрос звучит просто.  
Можно ли заставить объект(например выключатель или кнопку) двигаться вместе с вертикальным скролом.  
Т.Е. застолбить её на каких-нибудь координатах, и при прокрутке листа она будет всегда видна и на месте.  
 
PS закрепить область не предлагать :)
 
Как вариант (наиболее красивый) предлагаю динамические меню (особенно красиво смотрится в 2007). Каждому листу свои кнопки, ну и прочие достоинства.  
Еще, конечно можно открывать форму, при этом лишить ее заголовка, и на форму посадить кнопку. Форму сделать немодальной(да еще и прозрачной). API, как говорится, жжот. Форму открывать в определенной позиции экрана. Она то при скроле листа двигаться не будет.  
Больше вариантов в голову не лезет... Хотя может и усложнил ситуацию...    
Давайте файлик, помогу с реализацией обеих вариантов.
 
Все, что я могу дать, это чистый лист и на нём кнопка. Потому ничего и не прикреплил - что нечего.  
 
сразу возникли вопросы:  
По первому варианту - а будет ли работать в 2003м  
по второму - если форма не будет двигаться, то как ....  
по обоим - а как это все делать?
 
А что мешает сделать маленькую панель инструментов, и запускать её из надстройки? <BR>Пример можно поглядеть здесь: http://excelvba.ru/dimensions
 
{quote}{login=EducatedFool}{date=26.09.2010 11:06}{thema=}{post}А что мешает сделать маленькую панель инструментов, и запускать её из надстройки?  
Пример можно поглядеть здесь: http://excelvba.ru/dimensions{/post}{/quote}  
Или просто завести кнопку макроса на панели инструментов. Нафига замусоривать экран, а потом ерзать скроллом, что бы увидеть значения ячеек. В первый день понравится, а потом начнет раздражать.
Я сам - дурнее всякого примера! ...
 
Чесно говоря я думал о макросе "внутри" объекта, в котором пару строчек - тапа Х = 1, Y = 2 (оси закрепления), и...  Двигать(X;Y).Немоги  
 
а по ответам....  
EducatedFool - ссылку посмотрел. за чё 700р. не понял. 'Дурак', наверно, спасибо, что 'научили'.  :-))  
KuklP - дело в том, выключатель с макросом, ТОЛЬКО для этого дока, а документ длинный.
 
Вот как-то так. Нехватает запоминалки координат после начального перемещения...
 
{quote}{login=Алексей.Ю.}{date=26.09.2010 11:27}{thema=}{post}Чесно говоря я думал о макросе "внутри" объекта, в котором пару строчек - тапа Х = 1, Y = 2 (оси закрепления), и...  Двигать(X;Y).Немоги  
 
а по ответам....  
EducatedFool - ссылку посмотрел. за чё 700р. не понял. 'Дурак', наверно, спасибо, что 'научили'.  :-))  
KuklP - дело в том, выключатель с макросом, ТОЛЬКО для этого дока, а документ длинный.{/post}{/quote}  
Можно программно создавать юзверьскую панель при открытии(активации), а призакрытии убивать ее. Недавно выкладывал пример с вып. списками на листе и на панели. Но уже ratboy Вам цацку сделал:-)
Я сам - дурнее всякого примера! ...
 
> EducatedFool - ссылку посмотрел <BR>Надо было не ссылку смотреть, а прикреплённый файл к статье по этой ссылке... Там есть пример панели инструментов. Копируете код себе, убираете лишее - и получаете что хотели. <BR>Прямая ссылка на файл: http://excelvba.ru/system/files/Добавление%20размеров.xla
 
{quote}{login=ratboy}{date=26.09.2010 12:05}{thema=}{post}Вот как-то так. Нехватает запоминалки координат после начального перемещения...{/post}{/quote}  
 
НИШТЯК. Цацочка(до сих пор смеюсь) ничего. А можно её только на одном листике отображать, чёб не лезла на другие.  
 
Блин. Посмотрел, как всё сложно.
 
Можно...
 
2003й, только в котором это работает - на работе, а сейчас, дома, 2007й, поэтому посмотреть сейчас никак...  
.. но как я понял xla это надстройка, да?
 
Кнопка, ну типа от Версачи, хотя стильней видали. Работает - все как мне сегодня приснилось. Дело за малым - вставить эту круть в мой кнопка. Буду рулить.  
 
Спасибо Агромное.
 
Джедай-Прист, Вы как всегда правы.  
 
Выглядит интересно. Буду пробывать.
 
Не большая проблемка.  
Сохраняем файл на 2м листе, закрываем. Открываем, а кнопки-то нет. А чтоб появилась, надо перейдти на первый лист, потом на второй - не хорошо как-то.  
 
Можно поправить?
 
Private Sub Workbook_Open()  
If ActiveSheet.Name = "Лист2" Then  
frmper1m.Show  
Else  
frmper1m.Hide  
End If  
End Sub  
Грубо, но эффективно
 
{quote}{login=ratboy}{date=26.09.2010 01:37}{thema=}{post}Private Sub Workbook_Open()  
If ActiveSheet.Name = "Лист2" Then  
frmper1m.Show  
Else  
frmper1m.Hide  
End If  
End Sub  
Грубо, но эффективно{/post}{/quote}  
 
... в модуль второго листа писать ?
 
{quote}{login=Алексей.Ю.}{date=26.09.2010 01:40}{thema=Re: }{post}{quote}{login=ratboy}{date=26.09.2010 01:37}{thema=}{post}Private Sub Workbook_Open()  
If ActiveSheet.Name = "Лист2" Then  
frmper1m.Show  
Else  
frmper1m.Hide  
End If  
End Sub  
Грубо, но эффективно{/post}{/quote}  
 
... в модуль второго листа писать ?{/post}{/quote}  
...книги...
 
А не проще сразу активировать нужный лист при открытии?  
Private Sub Workbook_Open()  
Sheet("Лист2").activate  
End Sub
Страницы: 1
Читают тему
Наверх