Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Позиционировать форму при изменении размера - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Позиционировать форму при изменении размера (Макросы/Sub)
Позиционировать форму при изменении размера
Сергей13 Дата: Пятница, 17.05.2019, 21:50 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Здравствуйте!
Ребята каким образом при программном изменении размера формы также программно позиционировать формы по центру.
Свойство StartUpPosition не дает нужный результат.
[vba]
Код
Sub FormWidth()
    If FormBD.Width = 330.2 Then
        FormBD.Width = 800
        FormBD.StartUpPosition = 1
        FormBD.CommandButton5.Caption = "<< Список <<"
    Else
        FormBD.Width = 330.2
        FormBD.StartUpPosition = 1
        FormBD.CommandButton5.Caption = ">> Список >>"
    End If
End Sub
[/vba]


Сообщение отредактировал Сергей13 - Пятница, 17.05.2019, 22:29
 
Ответить
СообщениеЗдравствуйте!
Ребята каким образом при программном изменении размера формы также программно позиционировать формы по центру.
Свойство StartUpPosition не дает нужный результат.
[vba]
Код
Sub FormWidth()
    If FormBD.Width = 330.2 Then
        FormBD.Width = 800
        FormBD.StartUpPosition = 1
        FormBD.CommandButton5.Caption = "<< Список <<"
    Else
        FormBD.Width = 330.2
        FormBD.StartUpPosition = 1
        FormBD.CommandButton5.Caption = ">> Список >>"
    End If
End Sub
[/vba]

Автор - Сергей13
Дата добавления - 17.05.2019 в 21:50
Roman777 Дата: Суббота, 18.05.2019, 14:13 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Сергей13, добрый день!
Попробуйте что-то типа такого
[vba]
Код
lastW = FormBD.With
lastH = FormBD.Heigth
... изменяем размеры формы
FormBD.Left = FormBD.Left+(lastW-FormBD.Width)/2
FormBD.Heigth = FormBD.Top+(lastH-FormBD.Heigth)/2
[/vba]


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Суббота, 18.05.2019, 14:13
 
Ответить
СообщениеСергей13, добрый день!
Попробуйте что-то типа такого
[vba]
Код
lastW = FormBD.With
lastH = FormBD.Heigth
... изменяем размеры формы
FormBD.Left = FormBD.Left+(lastW-FormBD.Width)/2
FormBD.Heigth = FormBD.Top+(lastH-FormBD.Heigth)/2
[/vba]

Автор - Roman777
Дата добавления - 18.05.2019 в 14:13
Сергей13 Дата: Суббота, 18.05.2019, 20:12 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Roman777, Может, что не так делаю, но не пошло.
Пересмотрел некоторые моменты, не стал углубляться в данную тему.
Спасибо!
 
Ответить
СообщениеRoman777, Может, что не так делаю, но не пошло.
Пересмотрел некоторые моменты, не стал углубляться в данную тему.
Спасибо!

Автор - Сергей13
Дата добавления - 18.05.2019 в 20:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Позиционировать форму при изменении размера (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!