Excel UserForm отображается с неправильным размером

У меня очень странная проблема с Excel UserForms; когда я отображаю форму, нажимая кнопку команды на моем листе, размер формы значительно искажается, что делает ее практически непригодной для использования. Изображения ниже иллюстрируют это.

Форма до деформации размера (предполагаемый размер) Excel UserForm отображается с неправильным размером

Форма после деформации размера Excel UserForm отображается с неправильным размером

Я работаю с настройкой нескольких экранов, и эта проблема с размером сначала возникала только при использовании моего ноутбука без дополнительных дисплеев; однако теперь это начало происходить даже при моей обычной настройке. Кроме того, в некоторых случаях коробление соединяется с каждой последующей инициализацией формы. Я включил примеры изображений ниже.

Форма до деформации (предполагаемый размер) Excel UserForm отображается с неправильным размером

Форма после деформации (первая итерация) Excel UserForm отображается с неправильным размером

Сложное деформирование (вторая итерация) Excel UserForm отображается с неправильным размером

Дальнейшее сложное деформирование (третья итерация) Excel UserForm отображается с неправильным размером

Я пробовал устанавливать свойства высоты и ширины вручную, как через окно свойств, так и через событие Userform_Initialize (), но все равно получаю странные результаты. В окне свойств значения, которые я ввожу для высоты и ширины, автоматически меняются после того, как я их ввожу, что обычно приводит к нежелательным соотношениям сторон, и то же самое происходит, когда я пытаюсь изменить размер с помощью VBA. Я не думаю, что проблема заключается в коде, поскольку я просто устанавливаю свойства .Height и .Width, чтобы не было места для ошибки.

Я провел относительно обширное исследование и не смог найти никакой информации по этой проблеме. Я использую Excel 2016; любая помощь будет оценена по достоинству!

Вы можете добавлять изображения, используя соответствующее форматирование! Чтобы нам не приходилось переходить по вашим ссылкам.

meow 26.07.2018 00:15
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
8
1
14 051
4

Ответы 4

Это новая проблема, возникающая в Excel. Я тоже видел это в своих приложениях. В общих параметрах Excel установите значение «оптимизировать для совместимости», и проблема должна исчезнуть.

Думаю, ваша проблема может быть связана с моим здесь.

@Lance Phillips: вариант, о котором вы говорите (изображение ниже в Интернете), отсутствует на моей стороне с 32-разрядной версией Excel 2016 и 64-разрядной версией Windows 10. Понятия не имею почему. Даже с подключенным дополнительным монитором.

Обновлено: по-видимому, это новая функция из сборки Office 9330.1000, см. здесь.

ПРИМЕЧАНИЕ. Если вы работали над проектом и сохранили его, вам необходимо открыть каждую форму и изменить их размер. После изменения размера они вернутся в нормальное состояние.

HackSlash 17.04.2020 20:01

Проверьте настройки увеличения в Windows (легкий доступ). Это полностью забросило мои размеры форм. Некоторые были большими, другие маленькими. Размеры шрифта были в ваших примерах. Когда форма была создана, она унаследовала увеличение Windows.

Другие пользователи могут не знать, как установить режим совместимости. Если таблица будет доступна нескольким пользователям, используйте этот код для установки правильного размера формы при каждом ее открытии.

Private Sub UserForm_Initialize()  
'  
' Initialize frm  
' (This runs everytime the form is opened)  
' frm is the form name  
'  
    ' Reset the size  
    With frm  
        ' Set the form size  
        Height = {enter desired form height}  
        Width = {enter desired form width}  
    End With  
End Sub  

Другие вопросы по теме