Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2016, 09:54   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Расположить форму относительно кнопки на листе

Здравствуйте Уважаемые программисты!
Скажите пожалуйста, как исправить код ниже (vba excel 2003), чтобы форма открывалась располагаясь сразу под кнопкой ("Shapes(имя)"), щелкая по которой эта формы и вызывается?

Код:
Private Sub UserForm_Initialize()
With Me
 .StartUpPosition = 0
 .Top = ActiveSheet.Shapes(имя).Top
 .Left = ActiveSheet.Shapes(имя).Left
End With
End Sub
Заранее спасибо!
ольгаг вне форума Ответить с цитированием
Старый 27.07.2016, 10:35   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Может так?
Код:
Private Sub UserForm_Initialize()
    With Me
        .StartUpPosition = 0
        .Top = ActiveSheet.Shapes(1).Top + .Height
        .Left = ActiveSheet.Shapes(1).Left - .Width / 2
    End With
End Sub
P.S. Обращение к объекту на листе по индексу. Замените на требуемое.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 27.07.2016, 11:03   #3
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Может так?
Код:
Private Sub UserForm_Initialize()
    With Me
        .StartUpPosition = 0
        .Top = ActiveSheet.Shapes(1).Top + .Height
        .Left = ActiveSheet.Shapes(1).Left - .Width / 2
    End With
End Sub
P.S. Обращение к объекту на листе по индексу. Замените на требуемое.
Нет.
Наверно надо добавить размеры меню и панелей инструментов окна excel (этой области). Но не знаю пока как.
ольгаг вне форума Ответить с цитированием
Старый 27.07.2016, 11:26   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Private Sub UserForm_Initialize()
    With Me
        .StartUpPosition = 0
        .Top = 0
        .Left = 0
    End With
End Sub
получите форму в левом верхнем углу экрана

проблема решается чем-то этим:
Window.PointsToScreenPixelsX
Window.PointsToScreenPixelsY

удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расположить форму на закладке PageControl tarakan1983 Общие вопросы Delphi 5 29.04.2016 14:45
масштабирование кнопки относительно родительского окна (fasm) Zhigool' Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 05.02.2012 20:46
Добавить 2 кнопки на форму...) ge0freet Помощь студентам 7 05.07.2010 11:49
Как создать кнопки с ссылками на другие листы Excel 2007 и разместить их на отдельном листе? footman Microsoft Office Excel 0 21.07.2009 00:21
Отловить нажатие левой кнопки мыши на р листе SAndrus Microsoft Office Excel 2 14.07.2007 13:13