Remkomplekty.ru

IT Новости из мира ПК
5 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Vba excel размер шрифта

Размер шрифта для текста Excel VBA

2 Ian Gough [2013-10-31 01:04:00]

У меня есть пользовательская форма для отображения моих условий и условий, которые собираются непосредственно из ячейки. После активации я вызываю TandC.Text = Worksheets(«Master»).Range(«L41») который отлично работает, когда я запускаю форму напрямую — правильный размер шрифта, несколько строк, перенос слов и т.д. Однако, когда я запускаю формы из другой пользовательской формы, текст текстового поля внезапно отображает текст в крошечном нечитаемом шрифте. Даже когда я устанавливаю тестовую кнопку в моей форме, чтобы установить размер шрифта до 28, она не работает, когда форма запускается из другой формы; однако он меняет его, когда он работает сам по себе.

Похоже, что проблема Multiline включением Multiline , я отключу его, а шрифт — нужного размера, но текст пробегает мили вправо. Я возвращаю его снова, и снова у меня есть крошечный нечитаемый шрифт.

Это сводит меня с ума, может кто-нибудь предложить какие-либо советы по этому поводу?

См. Ниже мой код, ношение формы из исходной формы — это просто UF.Show .

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

9 ответов

Попробуйте включить autosize для текстового поля. Похоже, что многострочный файл пытается поместить весь текст в текстовое поле, изменив размер шрифта, а не изменив размер окна. Вы также можете попробовать установить высоту окна.

Вы можете попробовать это тоже (из MSDN):

Я попытался дублировать вашу проблему, вызвав одну форму из другой формы и даже использовал кнопку для динамического обновления размера текста. Я не мог наблюдать за вашей проблемой. Вот мой тестовый код:

За пользователем userform1

За пользователем userform2

РЕДАКТИРОВАТЬ

Я нашел этот пост, в котором рассказывается о других, имеющих ту же проблему в Excel 2013. Один человек написал, что переключение wordwrap взад-вперед в событии getfocus решает проблему. У меня нет 2013, поэтому я не могу проверить это, к сожалению.

Вы можете попробовать его в событии инициализации или попробовать активировать событие следующим образом:

Моя программа, используя визуальный базис в Excel, обрабатывает данные, а затем представляет их в текстовом поле. Он отлично работает в Excel 2010, но показывает только нечитаемый пиксельный вывод в Excel 2013 независимо от того, как размер текста установлен в разделе свойств текстового поля.

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

Мои данные были собраны в строковой переменной с именем «ответ», поэтому последние строки моей программы читаются следующим образом:

1 Chris [2015-11-11 23:08:00]

Это меня преследовало с тех пор, как я обновился до 2013 года в начале этого года. После многих попыток и использования того, что находится в этом пути, наряду с другими исследованиями, я нашел решение, которое работает. Проблема в том, что нужно также установить «фокус». Таким образом, окончательное кодирование, которое сработало для меня, — это

Excel VBA Textbox размер шрифта

У меня есть форма пользователя для отображения моих условий и положений, которая берется непосредственно из ячейки. После активации я вызываю TandC.Text = Worksheets(«Master»).Range(«L41») , который отлично работает, когда я запускаю форму напрямую — правильный размер шрифта, несколько строк, перенос слов и т. д. Однако, когда я запускаю форму из другой пользовательской формы, текстовое поле text внезапно отображает текст крошечным нечитаемым шрифтом. Даже когда я ставлю кнопку test на свою форму, чтобы установить размер шрифта на 28, она не работает, когда форма запускается из другой формы; однако она изменяет ее, когда она работает сама по себе.

Это кажется проблемой, когда Multiline включен, я выключаю его, и шрифт имеет правильный размер, но текст простирается на мили вправо. Я снова включаю его и снова вижу крошечный нечитаемый шрифт.

Это сводит меня с ума, может ли кто-нибудь дать какой-нибудь совет по этому поводу?

Смотрите ниже мой код, выбрасывание формы из исходной формы — это просто UF.Show .

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

9 Ответов

Попробуйте включить autosize для вашего текстового поля. Похоже, что multi-line пытается поместить весь текст в ваше текстовое поле, регулируя размер шрифта, а не размер поля. Вы также можете попробовать установить высоту коробки.

Вы можете попробовать это тоже (от MSDN ):

Я попытался повторить вашу проблему, вызвав одну форму из другой формы, и даже использовал кнопку для динамического обновления размера текста. Я не мог наблюдать за вашей проблемой. Вот мой тестовый код:

Я нашел этот пост , в котором говорится о других людях, имеющих ту же проблему в Excel 2013. Один человек написал, что переключение wordwrap вперед и назад в событии getfocus решает эту проблему. У меня нет 2013 года, поэтому я не могу его проверить, к сожалению.

Вы можете попробовать его внутри события инициализации или попробовать активировать событие, подобное этому:

Моя программа, используя visual basic в пределах Excel, обрабатывает данные, а затем представляет их в textbox. Он отлично работает в Excel 2010, но показывает только нечитаемый пиксельный вывод в Excel 2013, независимо от того, как задан размер текста в разделе свойств textbox.

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

Мои данные были собраны в строковой переменной с именем ‘answer’, поэтому последние строки моей программы читаются следующим образом:

Была такая же проблема, и это исправило ее.

Это мучило меня с тех пор, как я перешел на 2013 год в начале этого года. После многих попыток и использования того, что есть в этом trail наряду с другими исследованиями, я нашел решение, которое работает. Проблема в том, что «focus» также нужно установить. Итак, последнее кодирование, которое сработало для меня, — это

Читать еще:  Vba excel корень

Я решил эту проблему по-другому:

Я создал два TextBoxes и заполнил их одним и тем же контентом. Во время выполнения кода я наблюдал, какое из двух текстовых полей показывало нечитаемый шрифт. Во время выполнения я превратил видимость этого textbox в False.

Это может занять некоторое время проб и ошибок, потому что положение текстовых полей в форме пользователя, кажется, имеет значение.

Другой вариант-создать второй (идентичный) textbox и поместить его с неправильным размером шрифта вне формы пользователя.

Обязательно поместите одинаковое содержимое в оба текстовых поля и сделайте все атрибуты одинаковыми: enterkeybehavior, multiline, wordwrap

Просто дополнение к тому, что было сказано здесь для пользователей Word, сталкивающихся с той же проблемой.

Я испытывал ту же проблему, и, кажется, свойство TextBox.WordWrap было проблемой.

Вот как вы можете решить эту проблему для пользователей Word:

    Отключите свойство WordWrap текстового поля в графическом interface/

Добавьте что-то вроде этого:

Это обходной путь, но не обязательно решает проблему.

У меня была та же проблема. В моем случае ни одно из вышеперечисленных решений не сработало. Но когда я изменил верхнюю позицию textbox (например, Top 42 вместо Top 45), шрифт появился правильно.

Я боролся с этим в течение последних нескольких часов, но наконец нашел решение. Но сначала я обнаружил, что щелчок внутри textbox-это то, что запускает увеличение размера шрифта. Чтобы проверить это, я несколько раз щелкнул в textbox, затем нажал на другую ячейку; Я сделал это 4 или 5 раз и быстро понял, что это был виновник. Размер шрифта увеличивается при стандартном увеличении MS Office(8, 9, 10, 11, 12, 14, и т.д.).

Я также обнаружил, что единственное, что сбрасывает размер шрифта до того, каким он должен быть, — это изменение размера самого textbox. По какой-то причине это заставляет его перезагрузить размер шрифта, установленный в меню свойств, независимо от того, что находится в коде VBA. Как только я понял это, все, что мне нужно было сделать, это написать какой-то простой код, который изменяет высоту textbox на пиксель или два, а затем следующая строка кода изменила высоту обратно на ее первоначальное значение. Вот мой код:

Бам. Проблема решена. Этот код должен выполняться каждый раз, когда изменяется значение в связанной ячейке textbox. Надеюсь, это поможет кому-то еще!

Для тех, кто пришел к этому вопросу от Google и задается вопросом, Как изменить размер шрифта элемента управления textbox или label, так как только семейство шрифтов, кажется, можно настроить

Справа от названия шрифта есть маленькая кнопка с . -нажмите на нее.

В противном случае вы всегда можете использовать код:

Похожие вопросы:

Есть ли простой способ уменьшить размер шрифта в Word / Excel и т. д. На 1 шаг в VBA? Итак, скажем, если бы мой размер шрифта был 48, я мог бы легко уменьшить его до 36, в соответствии с выпадающим.

Моя цель-увеличить размер шрифта textbox в Excel с помощью VBA. Хотя это легко, что делает эту проблему немного более интересной, так это то, что мне нужен плавный переход от размера шрифта x к.

Я пытаюсь отправить Outlook email от VBA Excel. Насколько я могу судить, у меня все заявлено правильно. У меня возникли проблемы с изменением отправителя и размера шрифта. От-это вторичный email.

Назначение: Условное Форматирование-Размер Шрифта Если K19 = Downpayment Source:, то k19-10, иначе 12 Если K21 = Amount:, то K21-10, иначе 12. Пытаясь : Option Explicit Private Sub.

Я перенял форму пользователя от других (эта форма сделана Excel VBA). Я заметил, что парень создал два textbox, один фон-белый, другой-черный. Однако я хочу сделать весь фон textbox белым, но я не.

Есть ли способ, которым я могу сделать текстовое поле защищенным паролем в excel VBA. Я хочу сделать содержимое textbox защищенным паролем, чтобы, если кто-то хочет изменить значения текстового.

просто немного запутался с моим размером шрифта в Windows. Например, vba в excel: размер шрифта в vba Я перепробовал все настройки в “Control Panel->Personalize->Window Color->Advanced appearance.

Как я могу изменить размер шрифта TextBox, но сохранить высоту TextBox? На данный момент каждый раз, когда я пытаюсь изменить размер шрифта TextBox height re-sizes на основе размера шрифта, я вроде.

Есть база данных Access 2007, которая должна иметь отчет, который выводит некоторые действительно большие числа (для некоторых вывесок). В настоящее время в Excel шаблон использует размер шрифта 400.

Если свойству ShrinkToFit для ячейки листа Excel присвоено значение True, Excel при необходимости уменьшает размер шрифта, чтобы он соответствовал всему тексту. Возможно ли в VBA определить, был ли.

Размер шрифта для текста Excel VBA

У меня есть пользовательская форма для отображения моих условий и условий, которые собираются непосредственно из ячейки. После активации я вызываю TandC.Text = Worksheets(«Master»).Range(«L41») который отлично работает, когда я запускаю форму напрямую – правильный размер шрифта, несколько строк, перенос слов и т. Д. Однако, когда я запускаю формы из другой пользовательской формы, текст текстового поля внезапно отображает текст в крошечном нечитаемом шрифте. Даже когда я устанавливаю тестовую кнопку в моей форме, чтобы установить размер шрифта до 28, она не работает, когда форма запускается из другой формы; однако он меняет его, когда он работает сам по себе.

Похоже, что проблема Multiline включением Multiline , я отключу его, а шрифт – нужного размера, но текст пробегает мили вправо. Я возвращаю его снова, и снова у меня есть крошечный нечитаемый шрифт.

Это сводит меня с ума, может кто-нибудь предложить какие-либо советы по этому поводу?

См. Ниже мой код, ношение формы из исходной формы – это просто UF.Show .

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

Попробуйте включить autosize для текстового поля. Похоже, что многострочный файл пытается поместить весь текст в текстовое поле, изменив размер шрифта, а не изменив размер окна. Вы также можете попробовать установить высоту окна.

Читать еще:  Как очистить историю видео в одноклассниках

Вы можете попробовать это тоже (из MSDN ):

Я попытался дублировать вашу проблему, вызвав одну форму из другой формы и даже использовал кнопку для динамического обновления размера текста. Я не мог наблюдать за вашей проблемой. Вот мой тестовый код:

За пользователем userform1

За пользователем userform2

РЕДАКТИРОВАТЬ

Я нашел этот пост, в котором рассказывается о других, имеющих ту же проблему в Excel 2013. Один человек написал, что переключение wordwrap взад-вперед в событии getfocus решает проблему. У меня нет 2013, поэтому я не могу проверить это, к сожалению.

Вы можете попробовать его в событии инициализации или попробовать активировать событие следующим образом:

Моя программа, используя визуальный базис в Excel, обрабатывает данные, а затем представляет их в текстовом поле. Он отлично работает в Excel 2010, но показывает только нечитаемый пиксельный вывод в Excel 2013 независимо от того, как размер текста установлен в разделе свойств текстового поля.

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

Мои данные были собраны в строковой переменной с именем «ответ», поэтому последние строки моей программы читаются следующим образом:

Была такая же проблема, и это исправило это.

Это меня преследовало с тех пор, как я обновился до 2013 года в начале этого года. После многих попыток и использования того, что находится в этом пути, наряду с другими исследованиями, я нашел решение, которое работает. Проблема в том, что нужно также установить «фокус». Таким образом, окончательное кодирование, которое сработало для меня, – это

Я решил проблему по-другому:

Я создал два TextBoxes и заполнил их одним и тем же контентом. Во время запуска кода я заметил, какой из двух текстовых полей показал нечитаемый шрифт. Во время выполнения я превратил видимость этого текстового поля в False.

Это может занять несколько проб и ошибок, поскольку положение текстовых полей в пользовательской форме, по-видимому, имеет значение.

Другой вариант – создать второе (идентичное) текстовое поле и поместить строку с неправильным шрифтом вне пользовательской формы.

Не забудьте разместить один и тот же контент в обоих текстовых файлах и сделать все атрибуты одинаковыми: enterkeybehavior, multiline, wordwrap

Просто добавление к тому, что было сказано здесь для пользователей Word, сталкивающихся с одной и той же проблемой.

Я столкнулся с той же проблемой, и мне кажется, что это свойство TextBox.WordWrap .

Вот как вы можете это решить для пользователей Word:

    Отключите свойство WordWrap текстового поля в графическом интерфейсе /

Добавьте что-то вроде этого:

Это обходное решение, но не обязательно решает проблему.

vba — Размер шрифта для текста Excel VBA

У меня есть пользовательская форма для отображения моих условий и условий, которые собираются непосредственно из ячейки. После активации я вызываю TandC.Text = Worksheets(«Master»).Range(«L41») который отлично работает, когда я запускаю форму напрямую — правильный размер шрифта, несколько строк, перенос слов и т.д. Однако, когда я запускаю формы из другой пользовательской формы, текст текстового поля внезапно отображает текст в крошечном нечитаемом шрифте. Даже когда я устанавливаю тестовую кнопку в моей форме, чтобы установить размер шрифта до 28, она не работает, когда форма запускается из другой формы; однако он меняет его, когда он работает сам по себе.

Похоже, что проблема Multiline включением Multiline , я отключу его, а шрифт — нужного размера, но текст пробегает мили вправо. Я возвращаю его снова, и снова у меня есть крошечный нечитаемый шрифт.

Это сводит меня с ума, может кто-нибудь предложить какие-либо советы по этому поводу?

См. Ниже мой код, ношение формы из исходной формы — это просто UF.Show .

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

  • 29
  • 9
  • 27 мар 2019 2019-03-27 00:47:55
  • Ian Gough

9 ответов

Я боролся с этим в течение последних нескольких часов, но, наконец, нашел решение. Но сначала я обнаружил, что щелчок внутри текстового поля — это то, что вызывало расширение размера шрифта. Чтобы протестировать его, я несколько раз щелкнул в текстовом поле, а затем нажал на другую ячейку; Я сделал это 4 или 5 раз и быстро понял, что это преступник. Размер шрифта увеличивается в стандартном размере MS Office (8, 9, 10, 11, 12, 14 и т.д.).

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

Bam. Задача решена. Этот код должен запускаться каждый раз, когда изменяется значение в связанной ячейке с текстовым полем. Надеюсь, это поможет кому-то еще!

  • 27 мар 2019 2019-03-27 00:47:59
  • Bryan Shepherd

Я решил проблему по-другому:

Я создал два TextBoxes и заполнил их одним и тем же контентом. Во время запуска кода я заметил, какой из двух текстовых полей показал нечитаемый шрифт. Во время выполнения я превратил видимость этого текстового поля в False.

Это может занять несколько проб и ошибок, поскольку положение текстовых полей в пользовательской форме, по-видимому, имеет значение.

Другой вариант — создать второе (идентичное) текстовое поле и поместить строку с неправильным шрифтом вне пользовательской формы.

Не забудьте разместить один и тот же контент в обоих текстовых файлах и сделать все атрибуты одинаковыми: enterkeybehavior, multiline, wordwrap

  • 27 мар 2019 2019-03-27 00:47:58
  • Meneer
Читать еще:  Количество вхождений подстроки в строку excel

Для тех, кто приходит на этот вопрос от Google и задается вопросом, как изменить размер шрифта текстового поля или элемента управления ярлыками, поскольку только семейство Font представляется настраиваемым

Существует небольшая кнопка с . справа от имени фамилии шрифта — щелкните по нему.

В противном случае вы всегда можете использовать код:

  • 27 мар 2019 2019-03-27 00:47:58
  • gibberish

У меня такая же проблема. В моем случае ни одно из вышеперечисленных решений не работало. Но когда я изменил верхнюю позицию текстового поля (например, Top 42 вместо Top 45), шрифт появился правильно.

  • 27 мар 2019 2019-03-27 00:47:58
  • Annie Hearts

Просто добавление к тому, что было сказано здесь для пользователей Word, сталкивающихся с одной и той же проблемой.

Я столкнулся с той же проблемой, и мне кажется, что это свойство TextBox.WordWrap .

Вот как вы можете это решить для пользователей Word:

    Отключите свойство WordWrap текстового поля в графическом интерфейсе /

Добавьте что-то вроде этого:

Это обходное решение, но не обязательно решает проблему.

VBA-редактор

3.4. Окно Properties — управление свойствами

Выделите кнопку и посмотрите на окно Properties. Теперь в нем отображаются ее свойства.

Свойства элементов управления могут быть отображены в двух разных представлениях. Первое – это алфавитный список (вкладка Alphabetic ) второе – отображение по категориям ( Categorized ). Начинающим обычно удобнее пользоваться видом свойств объекта по категориям (рис. 3.5.). Объединение сходных свойств в группы позволяет легче разбираться с их предназначением.

На вкладке Categorized свойства объектов объединены в группы. Для удобства группы можно сворачивать и разворачивать. Давайте рассмотрим особенности различных групп, отображаемых в этом окне.

  • Appearance (Внешний вид) — отвечает за отображение объекта , за надписи на нем, за его имя.
  • Behavior (Поведение) — отвечает за поведение объекта. Например, за отображение многострочного текста.
  • Font (Шрифт) — содержит свойство, отвечающее за шрифт, которым сделаны надписи на объекте.
  • Misc (Разное) — различные настройки. Например — настройки указателя мыши, когда он будет находиться над объектом.
  • Picture (Изображение) — информация об изображении, которое может отображаться на объекте.
  • Position (Расположение) — определяет размер и положение объекта.

У форм есть группа свойств Scrolling (Скроллинг) — свойства этой группы управляют прокруткой формы.

Давайте рассмотрим свойства, общие для практически всех объектов — форм, различных элементов управления.

3.5. Важнейшие свойства элементов управления

Name (Имя) — очень важное свойство. По имени к объекту можно обратиться из программного кода.

Желательно давать объектам осмысленные имена — так гораздо легче пользоваться ими при разработке программ. Следите за тем, чтобы имена ваших объектов состояли лишь из цифр, латинских букв, символов подчеркивания. Если вы дадите объекту имя, например, содержащее знак «/», редактор не позволит использовать такое имя. При именовании объектов можно пользоваться и русскими буквами, но лучше этого не делать.

Переименуем форму в frm_Main , а кнопку – в cmd_First . Один из стилей именования объектов (так называемая венгерская нотация ) заключается в использовании префикса, указывающего на тип объекта .

В табл. 3.1. вы можете найти префиксы, которые можно использовать при именовании различных элементов управления.

Вы можете использовать свой собственный стиль именования, главное — это чтобы имена были понятными и сразу указывали на назначение объекта.

Caption (Надпись) — определяет надпись, которая видна на элементе управления. Изменим свойство Caption для объекта frm_Main на «Моя первая программа «, а для объекта cmd_First — «Нажми меня!».

Width (Ширина), Height ( Высота ) — определяют ширину и высоту объекта, которые измеряются в пикселях.

Font ( Шрифт ) — при попытке редактирования этого свойства открывается окно настройки параметров шрифта, в котором можно выбрать гарнитуру, размер, начертание шрифта.

ForeColor (Цвет шрифта) — задает цвет шрифта элемента управления.

BackColor ( Цвет фона ) — позволяет задать цвет фона элемента управления.

У кнопок и других элементов управления есть специфические свойства. В их число входят:

Top ( Расстояние от верха формы), Left ( Расстояние от левого края формы) — задают положение элемента на форме.

Visible (Видимость) — может принимать значения True ( Истина ) — то есть объект будет видимым, и False ( Ложь ) — объект будет невидимым.

Enable (Включено) — если это свойство установлено в True (Истина) — объектом можно пользоваться. Если в False (Ложь) — объект будет неактивен. Например, кнопку «Далее» можно сделать неактивной до тех пор, пока пользователь не заполнит все обязательные поля ввода данных.

Некоторых других свойств объектов мы коснемся в дальнейшем.

Продолжим знакомство с элементами управления. Сейчас нас интересует элемент управления Label ( Метка ). Метки используются для размещения текстовой информации на формах. Добавьте в вашу форму новую метку (если сомневаетесь в названии элемента управления — наведите на него указатель мыши в панели инструментов — через некоторое время появится подсказка), дайте ей имя lbl_First и разместите на ней надпись «Добро пожаловать в мою первую программу!». Чтобы разместить такую надпись на метке, можно модифицировать ее свойство Caption . Но можно поступить по -другому — выделить элемент управления и щелкнуть в том его месте, где расположен текст и отредактировать его прямо на элементе управления.

Мы еще не написали ни единой строчки кода, но уже можем запустить нашу первую программу. Щелкните по созданной форме и нажмите зеленую кнопку на панели инструментов редактора VBA (или выберите команду меню Run • Sub/User Form, можете вместо всего этого просто нажать клавишу F5 ).

В результате вы увидите только что созданную форму во всей красе (рис. 3.6.).

Если вы попробуете нажать на кнопку «Нажми меня!» — ничего не произойдет. Это неудивительно — мы ведь ничего не делали с кнопкой. Пора это исправить. Чтобы снова вернуться в редактор, закройте форму с помощью красной кнопки с крестом, расположенной в правой верхней части ее окна.

Дважды щелкните мышью по кнопке cmd_First . Откроется редактор кода . В нем будет автоматически создан каркас процедуры обработчика события Click для кнопки. Об этом читайте дальше.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×