Разрыв строки текстового поля Excel vba

Обновлено: 21.11.2024


Я использую текстовое поле ActiveX в Excel. Я могу заставить поле "деформировать" текст. Однако, когда я нажимаю клавишу «Ввод», Excel не переходит на следующую строку. Мне кажется, что текстовое поле может отображаться только как непрерывное предложение, но не как «абзац»? Я попытался изучить свойство текстового поля и настроить его. Но я не могу найти способ отобразить следующее предложение в другой строке.


Пожалуйста, сообщите, если это вообще возможно? Большое спасибо.

Член
Ниндзя Excel

Вам нужно сделать две вещи

<р>1. Выберите текстовое поле и измените свойство Multiline на True

<р>2. В коде вам нужно добавить возврат каретки или перевод строки в текст в нужном месте. например:

TextBox1.Text = "Строка 1" + vbLf + "Строка2"

TextBox1.Text = "Строка 1" + vbNewLine + "Строка2"

Член

– Вы имеете в виду, что файл нужно сначала сохранить в формате .xlsm?

- "код" вы имеете в виду под "Просмотреть код" под свойством? Я использую MS2007.

- Когда я сделал ваше предложение, в текстовом поле отображается «Строка 1» в первой строке и «Строка 2» в следующей. Это выглядит правильно, но вы имеете в виду, что пользователи должны заходить в код и вводить там текст?

– Я ​​открыл Visual Basic в разделе "Просмотр кода" и вижу только


Частный подпункт TextBox1_Change()


- Я не могу найти "код" в разделе "Алфавитный" или "По категориям".

Ниндзя Excel

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


Если вы используете текстовое поле ActiveX на листе со ссылкой на ячейку, процесс аналогичен

<р>1. Выберите текстовое поле и измените свойство Multiline на True

<р>2. Установите для LinkedCell значение, например: B2

<р>3. В B2 к вашему тексту нужно будет добавить символ перевода строки, например:

=СЦЕПИТЬ("Строка 1",CHAR(10),"Строка 2")

="Строка 1" и CHAR(10) и "Строка 2"

Член


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


Возможно, это ограничение на текстовое поле ActiveX. мне кажется, что он не может сместить две строки, не входя в ячейку B2, что, я думаю, пользователи могут не знать, как это сделать.

Люк М

Ниндзя Excel

Если вы хотите просто печатать прямо в поле, я думаю, что текстовое поле ActiveX — неправильный путь. Можете ли вы использовать текстовое поле из меню рисования или, возможно, из меню форм? Оба они позволяют нажать клавишу Enter, чтобы при желании начать новый абзац.

Член


Текстовое поле под меню формы отображается серым цветом. Что мне нужно сделать, чтобы исправить это? Спасибо!

Люк М

Ниндзя Excel

Хм. Убедитесь, что вы в настоящее время не редактируете поле ActiveX? Я использую 2003, так что все немного по-другому. Вы можете использовать текстовое поле из меню/панели рисования?

Член

Ага. Я могу использовать текстовое поле. Я думаю, это нормально, что текстовое поле ActiveX состоит только из одного абзаца (если это действительно так). текстовое поле предназначено только для заметок, а не для полного отчета.


Я просто думаю, что текстовое поле под контролем формы выглядит лучше. И в отличие от Excel, это текстовое поле, которое я печатаю, позволяет мне иметь 2 или более абзаца.


В любом случае, большое спасибо за предложение! Я очень ценю это.

Член


Я нашел ответ от Micro direct.


"Чтобы ввести новую строку, пользователь должен нажать либо CTRL+ENTER, либо SHIFT+ENTER, при этом создается специальный символ, который сохраняется в связанной ячейке."

Как начать новую строку при нажатии клавиши Enter в текстовом поле?

При вводе содержимого в текстовое поле ActiveX, которое вставляется с вкладки "Разработчик", содержимое будет отображаться в одной строке. Это будет очень раздражать при просмотре всего содержимого, в этом случае вам может потребоваться начать новую строку после нажатия клавиши Enter в текстовом поле ActiveX. В этой статье я представлю быстрый способ ее решения.

Чтобы выполнить эту задачу, вам просто нужно установить некоторые атрибуты в диалоговом окне "Свойства". Сделайте следующее:

<р>1. Нажмите «Разработчик» > «Вставить» > «Текстовое поле», чтобы вставить текстовое поле ActiveX, см. снимок экрана:

<р>2. Затем нажмите «Свойства» на вкладке «Разработчик», затем в диалоговом окне «Свойства» на вкладке «Алфавит» выполните следующие операции:

(1.) Выберите True рядом с текстовым полем EnterKeyBehavior;

(2.) Выберите True рядом с текстовым полем MultiLine.

<р>3. Затем закройте это диалоговое окно и выйдите из режима разработки. Теперь при вводе содержимого в текстовое поле после нажатия клавиши Enter данные будут перезапущены с новой строки. Смотрите скриншот:

В этом посте объясняется, как удалить разрывы строк в наборе данных в Excel. Как удалить возврат каретки или разрывы строк с помощью формулы в Excel. Как удалить разрывы строк с помощью макроса VBA в Excel. Как удалить разрывы строк с помощью функции поиска и замены в Excel 2010/2013/2016.

При нажатии клавиш Alt + Enter на клавиатуре в ячейке создается разрыв строки. И если вы нажмете несколько клавиш Alt + Enter на клавиатуре, это создаст несколько разрывов строк в вашей активной ячейке. И вы можете захотеть удалить все разрывы строк в выбранном диапазоне в Excel. Как это сделать. Вот способы удаления разрывов строк на листе.

Удалить разрывы строк с помощью формулы

Если вы хотите удалить разрывы строк из диапазона ячеек, вы можете использовать формулу, основанную на функциях ПОДСТАВИТЬ и СИМВОЛ. И формула выглядит следующим образом:

Эта формула удалит все разрывы строк в ячейке B1 и заменит их запятыми. А функция CHAR(10) вернет символ разрыва строки.

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

Удаление разрывов строк с помощью функции поиска

Вы также можете использовать функцию "Найти и найти" для удаления разрывов строк. И вы можете заменить все разрывы строк новым символом или пустым символом в функции «Заменить». Вот шаги по удалению разрывов строк в функции «Заменить» в Excel:

Удалить разрывы строк с помощью макроса VBA

Вы также можете использовать макрос Excel VBA для достижения того же результата, что и удаление нескольких строк в Microsoft Excel. Вот шаги по удалению разрывов строк с помощью кода VBA:

Видео: удаление разрывов строк

Связанные функции


    Функция Excel ПОДСТАВИТЬ заменяет новую текстовую строку на старую текстовую строку в текстовой строке. Синтаксис функции ПОДСТАВИТЬ следующий: = ПОДСТАВИТЬ (текст, старый_текст, новый_текст, [номер_экземпляра])….
    Функция Excel CHAR возвращает символ, заданный числом (значение ASCII). Синтаксис функции CHAR следующий: =CHAR(число)….

См. также:

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

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

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

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

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

В этом посте рассказывается, как подсчитать количество ячеек, содержащих нечетные или четные числа в диапазоне ячеек, с помощью формулы в Excel 2013/2016. Как подсчитать ячейки, содержащие нечетные числа, с помощью .

В этом посте рассказывается, как подсчитать количество ячеек, содержащих отрицательные числа в диапазоне ячеек, с помощью формулы в Excel 2013/2016. Вы можете подсчитать количество отрицательных чисел в своих данных с помощью простых функций.

В этом сообщении вы узнаете, как подсчитать количество ячеек, которые не пусты или не пусты, в ячейках заданного диапазона, используя формулу в Excel 2013/2016. Как подсчитать количество ячеек, которые не являются пустыми в определенном диапазоне .

В этом посте рассказывается, как подсчитать количество ячеек меньше определенного числового значения в ячейках заданного диапазона, используя формулу в Excel 2013/2016. Как подсчитать ячейки, которые меньше определенного .

Разрыв строки в Excel можно использовать для завершения текущей строки и начала новой строки в той же ячейке (как показано ниже).

В этом руководстве я покажу вам несколько способов вставки разрыва строки в Excel (также называемого возвратом каретки в ячейке в Excel)

Это руководство охватывает:

Вставка разрыва строки с помощью сочетания клавиш

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

Вот как вставить разрыв строки с помощью сочетания клавиш:

  • Дважды щелкните ячейку, в которую вы хотите вставить разрыв строки (или нажмите F2). Вы перейдете в режим редактирования в ячейке.
  • Поместите курсор в место разрыва строки.
  • Используйте сочетание клавиш – ALT + ENTER (удерживайте клавишу ALT, а затем нажмите Enter).

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

Обратите внимание, что ячейка должна находиться в режиме "Перенос текста", чтобы содержимое отображалось в следующей строке. Если он не применяется, вы увидите весь текст в одной ячейке (даже если у вас есть разрыв строки). Параметр «Перенос текста» доступен на вкладке «Главная» на ленте.

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

Вставка разрывов строк с помощью формул

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

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

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

Ниже представлена ​​формула, которая добавляет разрыв строки в результат формулы:

Приведенная выше формула использует CHAR(10) для добавления разрыва строки как части результата. CHAR(10) использует код ASCII, который возвращает перевод строки. Размещая перевод строки в том месте, где должен быть разрыв строки, мы заставляем формулу разрывать строку в результате формулы.

Вы также можете использовать формулу CONCAT вместо использования символа амперсанда (&):

или старую формулу СЦЕПИТЬ, если вы используете старые версии Excel и у вас нет СЦЕПИТЬ

А если вы используете Excel 2016 или более ранние версии, вы можете использовать приведенную ниже формулу TEXTJOIN (которая является лучшим способом объединения ячеек/диапазонов)

Обратите внимание: чтобы в ячейке был виден разрыв строки, необходимо убедиться, что включена функция «Перенос текста». Если перенос текста НЕ применяется, добавление Char(10) не изменит результат формулы.

Примечание. Если вы используете Mac, используйте Char(13) вместо Char(10).

Использование определения имени вместо Char(10)

Если вам нужно часто использовать Char(10) или Char(13), лучшим способом будет присвоить ему имя, создав определенное имя. Таким образом, вы можете использовать короткий код вместо того, чтобы вводить весь CHAR(10) в формуле.

Ниже приведены шаги по созданию именованного диапазона для CHAR(10)

Теперь вы можете использовать LB вместо =CHAR(10).

Теперь формула для объединения адресов может быть следующей:

Использование поиска и замены (трюк CONTROL J)

Это очень крутой трюк!

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

Если вы хотите вставить разрыв строки везде, где в адресе есть запятая, вы можете сделать это с помощью диалогового окна НАЙТИ и ЗАМЕНИТЬ.

Ниже приведены действия по замене запятой на разрыв строки:

Вышеуказанные шаги удаляют запятую и заменяют ее переводом строки.

Обратите внимание, что если вы нажмете сочетание клавиш Control J дважды, это вставит перевод строки (возврат каретки) два раза, и между предложениями будет пробел в две строки.

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

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