Note: The other languages of the website are Google-translated. Back to English

Как преобразовать текст в текстовом поле в содержимое ячейки в Excel?

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

Преобразование содержимого текстового поля в ячейку с помощью VBA


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

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

1. Нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, а затем вставьте приведенный ниже код в Модули скрипты.

VBA: преобразование текстовых полей в ячейку

Sub TextboxesToCell()
'UpdatebyExtendoffice20160918
    Dim xRg As Range
    Dim xRow As Long
    Dim xCol As Long
    Dim xTxtBox As TextBox
    
    Set xRg = Application.InputBox("Select a cell):", "Kutools for Excel", _
                                    ActiveWindow.RangeSelection.AddressLocal, , , , , 8)
    xRow = xRg.Row
    xCol = xRg.Column
    
    For Each xTxtBox In ActiveSheet.TextBoxes
        Cells(xRow, xCol).Value = xTxtBox.Text
        xTxtBox.Delete
        xRow = xRow + 1
    Next
    
End Sub

документ преобразовать текстовое поле в ячейку 2

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

4. Нажмите OK. Теперь все текстовые поля преобразованы в содержимое ячеек.
документ преобразовать текстовое поле в ячейку 4

Совет. Вышеупомянутый VBA удалит текстовые поля после запуска, если вы хотите сохранить текстовые поля, измените код. xTxtBox.Удалить в 'xTxtBox.Удалить.

Расширение:Если вы хотите быстро преобразовать число в текст, попробуйте использовать Kutools for Excel's Преобразование текста в число как показано на следующем снимке экрана. Полная функция без ограничений в

Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. 
дней, пожалуйста, скачайте и получите бесплатную пробную версию сейчас.
документ преобразовать текстовое поле в ячейку 5


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно

 

Сортировать комментарии по
Комментарии (15)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
VBA не работает?!
Этот комментарий был сведен к минимуму модератором на сайте
Здесь работает отлично. Что происходит, пока вы запускаете код? Это ничего не меняет? Если можно, опишите подробнее ваши данные и проблему. Спасибо.
Этот комментарий был сведен к минимуму модератором на сайте
Здесь тоже не работает. Выберите ячейку назначения, нажмите «ОК», и ничего не произойдет.
Этот комментарий был сведен к минимуму модератором на сайте
Я пробовал его в Win10 Excel2016 и Win8 Excel2010, он работает оба. Какую рабочую среду вы используете?
Этот комментарий был сведен к минимуму модератором на сайте
У меня много ящиков на разных листах. Есть 4 листа, на которых происходят определенные события в определенный день, и я хотел бы перенести эти текстовые поля определенного дня на новый лист, объединенный для этого дня. Как это работает, я понятия не имею, как получить эти данные с 4 разных листов на один лист.
Этот комментарий был сведен к минимуму модератором на сайте
Хорошо, у меня есть текстовое поле внутри текстового поля, которое нужно извлечь.
Этот комментарий был сведен к минимуму модератором на сайте
Большое спасибо! Буэн апорте. Я аюдо много.
Этот комментарий был сведен к минимуму модератором на сайте
Нет меня funcionó. Hago todo lo señalado y no pasa nada después de apretar enter. Intenté algunos cambios en la programación y tampoco
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Хуан, в приведенном выше методе нет клавиши Enter, скопируйте и вставьте vba, затем нажмите клавишу F5 или нажмите кнопку «Выполнить», чтобы активировать код.
Этот комментарий был сведен к минимуму модератором на сайте
привет, я пробовал в Excel365, и это не работает, я получаю всплывающее окно, а затем заполняю, но ничего не происходит, спасибо за помощь, Мишель
Этот комментарий был сведен к минимуму модератором на сайте
Привет, Мишель, я проверил код в Excel 365, он работает правильно. Не могли бы вы дать мне изображение вашей версии Excel, как это (Файл> Учетная запись)https://www.extendoffice.com/images/stories/comments/sun-comment/Excel_version.png, а картинка о содержимом ваших текстбоксов?
Этот комментарий был сведен к минимуму модератором на сайте
Привет, солнышко. Мне нужно решение в excel. Я скопировал и вставил веб-страницу, содержащую данные. при этом каждое текстовое поле содержит несколько чисел. Я не могу преобразовать его как обычное число в ячейку Excel, содержащую определенный столбец. Я использую эксель 2007.
Этот комментарий был сведен к минимуму модератором на сайте
Привет, солнышко. Мне нужно решение в excel. Я скопировал и вставил веб-страницу, содержащую данные. при этом каждое текстовое поле содержит несколько чисел. Я не могу преобразовать его как обычное число в ячейку Excel, содержащую определенный столбец. Я использую эксель 2007.Ваш текст для ссылки
Этот комментарий был сведен к минимуму модератором на сайте
Я использую этот скрипт (кстати, спасибо), но я пытаюсь заставить его заполнять определенную ячейку, а не запрашивать ввод ячейки каждый раз. что бы я изменил, чтобы он автоматически заполнял, например, ячейку B2.

ура
Этот комментарий был сведен к минимуму модератором на сайте
Привет, просто измени скрипт
Set xRg = Application.InputBox("Select a cell):", "Kutools for Excel", _
                                    ActiveWindow.RangeSelection.AddressLocal, , , , , 8)

в
Set xRg = Application.Range("B2")

вы вставите содержимое текстового поля из ячейки B2
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL