Скопируйте многострочный форматированный текст в одну ячейку в Excel

15

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

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

Есть ли способ скопировать форматированный многострочный текст с веб-страницы, электронной почты, MS Word или любой другой программы в одну ячейку в Excel?

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

Как сделать бутерброд:

  • 2 ломтика хлеба
  • один кусочек мяса
  • один кусочек сыра

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

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

В Word с отображением символов форматирования:
В MS Word

Используя вставку по умолчанию в Excel в ячейке A1. Обратите внимание , что Excel сломал текст на оба жестких (¶) и мягких возвраты (↵) в отдельные строки, и создал объединенные ячейки для «А1» и «С1» текст:
Вставка по умолчанию

Используя опцию вставки «Форматирование соответствия цели» в Excel, в ячейке A1:
Вставка форматирования назначения совпадения

Дважды щелкните внутри ячейки B1, затем вставьте (обратите внимание, что при этом подходе опции «Специальная вставка» недоступны):
Нажмите внутри ячейки, затем вставьте

И здесь я отметил все форматирование символов Excel, примененное при использовании вставки по умолчанию, и вручную применил его к тексту, чтобы проиллюстрировать желаемый результат. Excel не предлагает пулю форматирования, но при использовании пасты по умолчанию, он помещает символ маркера в 11,5 пт символов шрифта, и воспроизводит Tab от Слова с несколькими пробелами в 7 пт Times New Roman. Единственное, что не может быть применено к подмножеству текста в ячейке, это выравнивание с отступом, но даже без этого, чтобы получить результат вставки, подобный этому, без необходимости вручную применять шрифт, размер, жирный шрифт и курсив везде, каждый раз (и цвет, если применимо), было бы идеально:
Ручное создание желаемого результата

Дэн Хендерсон
источник
Щелкните правой кнопкой мыши по ячейке и используйте «параметры вставки»> «форматирование» или «специальная вставка». См. Параметры вставки
DavidPostill
@DavidPostill Я добавил пример. Если то, что вы предлагаете, работает с этим примером текста, пожалуйста, включите ваш комментарий в ответ. (Подсказка: это не так.)
Дэн Хендерсон
Хм. Должно. Что происходит, когда вы пытаетесь это сделать? Обратите внимание, что у меня больше нет копии Office для тестирования.
DavidPostill
@DavidPostill форматированный текст вставляется, но разрывы строк приводят к тому, что текст разбивается на несколько строк в электронной таблице. Смотрите связанный вопрос.
Дэн Хендерсон
2
Существует макрос в этом посте , который выглядит , как он может помочь вам Импорт Word , пункт в Excel - 1 клетка, то же форматирование - я теряю формат
DavidPostill

Ответы:

2

Простое решение:

  1. Преобразуйте форматированный текст в MS Word в таблицу. Выделите текст на вкладке «Вставка»> «Таблица»> «Преобразовать текст в таблицу» . Помните, что любой текст после (жесткого) возврата в вашем тексте сформирует новую строку таблицы. Вы можете заменить их мягкими возвратами (Shift Enter), если хотите.

    1. Скопируйте ячейки таблицы MS Word в Excel.

    2. Вуаля!

user524963
источник
3
Будет ли это работать с примером текста, который я предоставил выше, чтобы попасть в одну ячейку? Я подозреваю, что нет, поскольку пули требуют жесткого возврата.
Дэн Хендерсон
4
Я проверил это и подтвердил, что это не работает. Даже если я создаю таблицу 1x1 в Word, а затем вставляю свой форматированный текст в эту ячейку таблицы, я все равно не могу скопировать его и вставить в Excel и получить все элементы в одной ячейке, сохраняя при этом разрывы строк, маркеры жирным шрифтом и курсивом. Я могу либо поместить его в одну ячейку с разрывами строк, но потерять все остальное форматирование, либо сохранить все форматирование, но каждая строка текста окажется в новой строке.
Дэн Хендерсон
1
  1. Выберите целевую таблицу в Word.
  2. Нажмите Ctrl + H, чтобы открыть диалоговое окно «Найти и заменить».
  3. Введите ^ p в текстовом поле «Найти что:», а в текстовом поле «Заменить на:» введите уникальный текст или символ, которого нет в тексте в вашей таблице, например ~~~ или |
  4. Нажмите кнопку Заменить все.
  5. Закройте диалоговое окно «Найти и заменить».
  6. Скопируйте таблицу в Word и вставьте ее в Excel.
  7. Теперь нажмите Ctrl + H в Excel, чтобы открыть диалоговое окно «Найти и заменить».
  8. Введите ~~~ или | (или что вы использовали в таблице Word) в текстовом поле «Найти что:», поместите курсор в текстовое поле «Заменить на» и нажмите Alt + 0010.
  9. Нажмите Опции >> и убедитесь, что флажки «Совпадение регистра» и «Совпадение всего содержимого ячейки» не установлены.
  10. Нажмите кнопку Заменить все.
user1010554
источник
0

Я давно хотел сделать это тоже.

Я начал играть с Excel и заметил, что объект «Вставить слово» будет делать то, что вы хотите.

Вот ссылка, которая объясняет различные способы вставки объектов.

https://support.office.com/en-gb/article/insert-an-object-in-your-excel-spreadsheet-e73867b2-2988-4116-8d85-f5769ea435ba

«Создайте новый объект из Excel» - это то, что вам нужно.

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

Герхард Вайс
источник
-1

Откройте PDF. Выберите необходимый текст и скопируйте (в буфер обмена). (Ctrl c) Открыть Excel. Выберите ячейку, в которую хотите вставить. Не вставляйте в ячейку, а вставляйте в окно панели формул. (Ctrl v) Ваш текст должен появиться в выбранной ячейке. Любой возврат каретки (CR) теперь будет начинать новую строку в ячейке. Если вы хотите другой CR внутри ячейки, нажмите Alt Return, где вы хотите CR. В противном случае Return просто выбирает следующую ячейку. Если вы хотите «потерять» CR, просто удалите, как и любой другой символ. Надеюсь это поможет.

Стив Б
источник