Vba перенос строки Excel в msgbox

Обновлено: 06.07.2024

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

Самый простой код MsgBox в Excel vba выглядит следующим образом:

При запуске выводит простое всплывающее окно с сообщением.

Метод vbNewLine

Этот макрос добавляет новую строку в окно сообщения:

Обратите внимание на добавленную vbNewLine. Это то, что на самом деле добавляет новую строку в код. Кроме того, обратите внимание, что вы должны использовать двойные кавычки и амперсанд (&), прежде чем вы сможете ввести текст vbNewLine, а затем вам нужно сделать то же самое снова, чтобы ввести остальную часть сообщения.

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

Метод vbCrLf

где CrLf означает перевод строки при возврате каретки.

Добавить еще одну строку в сам макрос

Если ваше сообщение многословно, добавьте символ подчеркивания ( _ ), и вы сможете продолжить сообщение на новой строке в окне кода, чтобы уменьшить количество горизонтальной прокрутки, чтобы увидеть полный текст сообщения.

Примечания

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

Вопрос? Спросите об этом на нашем форуме Excel

Курс Excel VBA — от новичка до эксперта

200+ видеоуроков 50+ часов обучения 200+ руководств Excel

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

Курс VBA — от новичка до эксперта

Макрос для добавления новой строки во всплывающее окно окна сообщения в Excel
Макрос: это очень простое окно сообщения, всплывающее окно, макрос для Excel, иллюстрирующий, как .

Как создать диаграмму и управлять ею в Excel
Учебное пособие. В этом учебном пособии я собираюсь познакомить вас с созданием и управлением диаграммами в Excel. Перед.

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

Макрос Excel для сохранения определенного рабочего листа в виде нового файла
Макрос: этот макрос Excel позволяет сохранить определенный рабочий лист в рабочей книге Excel в своем файле .

Как добавить форматирование к ячейкам и данным в стилях, шрифтах, цветах и ​​т. д. Excel
Учебное пособие. В этом учебном пособии я расскажу, как использовать различные инструменты форматирования в Excel. Формат.

Запуск макроса при изменении определенной ячейки в Excel
Учебник: Запуск макроса в Excel при изменении определенной ячейки; это также относится к ячейке внутри.

Подпишитесь на еженедельные уроки

БОНУС: подпишитесь сейчас, чтобы загрузить нашу электронную книгу Top Tutorials!

Ссылка на наши 15 лучших учебных пособий была отправлена ​​вам, проверьте свою электронную почту, чтобы загрузить ее!

(Если вы не видите электронное письмо, проверьте папку "Спам" или "Промоакции" и обязательно добавьте нас в список контактов, чтобы получать наши электронные письма в будущем.)

Курс Excel VBA — от новичка до эксперта

200+ видеоуроков
50+ часов видео
200+ руководств по Excel

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

(без строк, конечно)

Я знаю, как сделать окно сообщения.

--> MsgBox([приглашение], [кнопки], [заголовок])

НО, как мне настроить этот код так, чтобы "Сегодняшние показатели продаж" и "Завтрашние показатели продаж" отображались в отдельных строках (одна поверх другой)?

Я провел тест, и мне кажется, что сообщение "перенесется" на следующую строку, но только после того, как будет достигнута определенная длина (МНОГО символов).

Мы будем очень признательны за любую помощь.

Спасибо,
Рейчел

Факты об Excel

Нори

Известный участник

Неуч

Известный участник

Я хочу отобразить в MsgBox следующее:

(без строк, конечно)

Я знаю, как сделать окно сообщения.

--> MsgBox([приглашение], [кнопки], [заголовок])

НО, как мне настроить этот код так, чтобы "Сегодняшние показатели продаж" и "Завтрашние показатели продаж" отображались в отдельных строках (одна поверх другой)?

Я провел тест, и мне кажется, что сообщение "перенесется" на следующую строку, но только после того, как будет достигнута определенная длина (МНОГО символов).

Мы будем очень признательны за любую помощь.

Спасибо,
Рейчел

попробуйте что-нибудь вроде

где sales и sales1 – имена ваших переменных

Обычная доска

спасибо вам обоим большое большое.

Обычная доска

Извините. еще один вопрос.

Я хотел бы показать:
_________________________________
Сегодняшние цифры продаж:
Вчерашние цифры продаж:

Экспортировать в исторический репозиторий?
_________________________________________

Я хотел бы сделать то же самое, что и раньше, но ТАКЖЕ:

1) пропустить строку
2) добавить "Экспорт в исторический репозиторий?"

Пользователь получит кнопки "Да" и "Нет" (в настоящее время есть только кнопка "ОК") в этом же MsgBox.

Все это будет отображаться в одном и том же MsgBox.

Если пользователь нажмет "нет", подпрограмма выйдет. Если пользователь нажмет «да», код для копирования этих двух данных о продажах (у меня он уже есть) будет выполнен.

Спасибо. Мы получили ваш запрос и незамедлительно ответим.

Присоединяйтесь к нам!

  • Общаться с другими участниками
  • Уведомления об ответах
    на ваши сообщения
  • Поиск по ключевым словам
  • Доступ в один клик к вашим
    любимым форумам
  • Автоматические подписи
    на ваших сообщениях
  • Лучше всего то, что это бесплатно!

*Функции Tek-Tips зависят от того, получают ли участники электронную почту. Присоединяясь, вы соглашаетесь на получение электронной почты.

Правила публикации

Реклама, продажа, рекрутинг, размещение курсовых и дипломных работ запрещено.

Перенос слов в редакторе VBA

Перенос слов в редакторе VBA

Есть ли способ настроить перенос слов в редакторе Visual Basic для приложений, чтобы при написании длинного кода он отображался на мониторе. Кажется, я не могу найти вариант для него. Мне удалось сделать это с помощью Visual Studio.

Насколько я знаю, это ручной способ, _
вы используете знаки продолжения строки _
(подчеркивание) в конце строк, чтобы VBA _
интерпретировал несколько строк как один _
просто не забудьте использовать один ПРОБЕЛ перед _
подчеркиванием

"Если вам нужно выполнить это с конкатенированными " & _
"стрками, например, в операторах sql и т. д., " & _
" также запомните соответствующие пробелы и " & _
" оператор конкатенации строк"

В VBA нет возможности переноса слов как таковой.

Вы можете использовать символы продолжения строки, чтобы разбить код на несколько строк. В том месте кода, где вы хотите «перенести» на следующую строку, введите («_»). Затем начните печатать на следующей строке. В зависимости от того, что и где вы разбиваете в своем коде, вам может потребоваться начать новую строку с символа конкатенации (&).

Например, для переноса текста, отображаемого в окне сообщения

msgbox("это очень длинное сообщение в окне сообщения" _
& " поэтому я разобью его посередине текста", _
vbOKOnly, "Длинное сообщение")

Отправлено предупреждение

Благодарим вас за помощь в защите форумов Tek-Tips от неприемлемых сообщений.
Персонал Tek-Tips проверит это и примет соответствующие меры.

Ответить в этой теме

Размещение сообщений на форумах Tek-Tips доступно только для участников.

Нажмите здесь, чтобы присоединиться к Tek-Tips и пообщаться с другими участниками! Уже участник? Войти

Я хотел бы набрать математическую форумлу в коде VBA, который многострочный. Я хотел бы разделить его на несколько строк. Как мне это сделать?

очень длинный. хотел бы разделить его.

Но не работает.. Нужен совет по этому поводу..

Нет, это не имеет значения. Продолжение строки — это пробел, за которым следует символ подчеркивания (_), затем символ конца строки (клавиша Enter)

4 ответа 4

Чтобы использовать новую строку в коде, используйте _



Есть ли что-то, что можно использовать для инициализации массива? Если после "_" есть новая строка, выдается ошибка: Dim StringPairs As Variant StringPairs = [ <"abc", "def">, _ ]

Наоборот: если я хочу объединить 2 отдельные строки кода в 1 строку, есть ли способ? (например, на многих языках)

@JackeyOL обычное двоеточие: используется для этого в VBA. Например, Dim a As Integer: a = 500 + 80 + 90: MsgBox a

От службы поддержки ms

Чтобы продолжить оператор с одной строки на другую, введите пробел, за которым следует символ продолжения строки [символ подчеркивания в вашем клавиатура (_)].

Вы можете разбить строку на оператор, разделитель списка или точку.


Используйте символ продолжения строки, который представляет собой подчеркивание (_), в точке, в которой вы хотите, чтобы строка прерывалась. Перед символом подчеркивания должен стоять пробел, а за ним должен следовать знак конца строки (возврат каретки).

(Из руководства: Разрыв и объединение операторов в коде)

Другими словами: всякий раз, когда интерпретатор встречает последовательность _ , она игнорируется, и синтаксический анализ продолжается на следующей строке.Обратите внимание, что даже при игнорировании продолжение строки по-прежнему действует как разделитель токенов, поэтому его нельзя использовать, например, в середине имени переменной. Вы также не можете продолжить комментарий, используя символ продолжения строки.

Чтобы разбить утверждение в вашем вопросе на несколько строк, вы можете сделать следующее:

Читайте также: