Проблема :
при копировании ячейки из Excel вне программы двойные кавычки добавляются автоматически.
Подробности :
я использую Excel 2007 на компьютере с Windows 7. Если у меня есть ячейка со следующей формулой:
="1"&CHAR(9)&"SOME NOTES FOR LINE 1."&CHAR(9)&"2"&CHAR(9)&"SOME NOTES FOR LINE 2."
Вывод в ячейке (в формате числа) в Excel выглядит следующим образом:
1SOME NOTES FOR LINE 1.2SOME NOTES FOR LINE 2.
Ну и хорошо. Но если я копирую ячейку в другую программу, например в блокнот, я получаю раздражающие двойные кавычки в начале и в конце. Обратите внимание, что вкладки, созданные «CHAR (9)», сохраняются, и это хорошо.
"1 SOME NOTES FOR LINE 1. 2 SOME NOTES FOR LINE 2."
Как я могу предотвратить появление этих двойных кавычек при копировании в другую программу? Другими словами, могу ли я предотвратить их автоматическое добавление при копировании ячейки в буфер обмена?
Ответы:
Если вы попытаетесь вставить в Word-Pad, Notepad ++ или Word, у вас не будет этой проблемы. Чтобы скопировать значение ячейки как чистый текст, для достижения того, что вы описываете, вы должны использовать макрос:
В книге, к которой вы хотите применить это (или в вашем Personal.xls, если вы хотите использовать в нескольких книгах), поместите следующий код в стандартный модуль:
Код:
Чтобы добавить стандартный модуль в свой проект (книгу), откройте VBE с помощью Alt+, F11а затем щелкните правой кнопкой мыши свою книгу в верхнем левом окне проекта и выберите Вставить> Модуль. Вставьте код в окно модуля кода, которое откроется справа.
Вернувшись в Excel, выберите «Инструменты»> «Макрос»> «Макросы» и выберите макрос «CopyCellContents», а затем выберите «Параметры» в диалоговом окне. Здесь вы можете назначить макрос для сочетания клавиш (например, как CTRL+ Cдля обычной копии) - я использовал CTRL+ Q.
Затем, когда вы хотите скопировать одну ячейку в Блокнот / где угодно, просто нажмите Ctrl + q (или что угодно), а затем нажмите CTRL+ Vили Правка> Вставить в выбранное место назначения.
Мой ответ скопирован (с некоторыми дополнениями) отсюда
РЕДАКТИРОВАТЬ : (из комментариев)
Если вы не нашли библиотеку Microsoft Forms 2.0 в списке литературы, вы можете попробовать
C:\Windows\System32\FM20.dll
(32-битная Windows) (спасибо @JWhy)C:\Windows\SysWOW64\FM20.dll
(в 64-битной версии)источник
У меня только что возникла эта проблема, и я обернул каждую ячейку
CLEAN
функцией, исправив ее. Это должно быть относительно легко сделать=CLEAN(
, выбрав ячейку и затем автоматически заполнив остальную часть столбца. После того, как я сделал это, при вставке в Блокнот или любую другую программу больше не было повторяющихся цитат.источник
Сначала вставьте его в Word, затем вы можете вставить его в блокнот, и он появится без кавычек
источник
Если вы хотите выделить несколько ячеек и скопировать их значения в буфер обмена без всех этих надоедливых кавычек, следующий код может оказаться полезным. Это усовершенствование кода, приведенного выше, от user3616725.
источник
Мое решение, когда я столкнулся с проблемой кавычек, заключалось в том, чтобы убрать возврат каретки с конца текста моих ячеек. Из-за этих возвратов каретки (вставленных внешней программой) Excel добавлял кавычки ко всей строке.
источник
Возможная проблема в связи с ответом от "user3616725":
Я использую Windows 8.1, и, похоже, проблема со связанным кодом VBA из принятого ответа от «user3616725»:
Подробности.
Выполняя приведенный выше код и вставляя буфер обмена в ячейку в Excel, я получаю два символа, состоящих из квадратов со знаком вопроса внутри, например: ⍰⍰. Вставка в Блокнот даже ничего не показывает.
Решение:
после долгих поисков я нашел еще один сценарий VBA от пользователя «Nepumuk», который использует Windows API. . Вот его код, который наконец-то сработал для меня:
Чтобы использовать его так же, как и первый код VBA, приведенный выше, измените Sub «Beispiel ()» с:
Кому:
И запустите его через меню макросов Excel, как это было предложено пользователем 3616725 из принятого ответа:
Изменить (21 ноября 2015 г.):
@ комментарий от "dotctor":
Нет, серьезно, это не новый вопрос! На мой взгляд, это хорошее дополнение к принятому ответу, поскольку мой ответ касается проблем, с которыми вы можете столкнуться при использовании кода из принятого ответа. Если бы у меня было больше репутации, я бы написал комментарий.
@ комментарий от "Teepeemm":
Да, вы правы, ответы, начинающиеся с заголовка "Проблема:", вводят в заблуждение. Изменено на: «Возможная проблема в связи с ответом пользователя« user3616725 »:». В качестве комментария я бы, конечно, написал намного компактнее.
источник
«Если вы хотите выбрать несколько ячеек и скопировать их значения в буфер обмена без всех этих надоедливых кавычек» ( без ошибок в решении для нескольких ячеек Питера Смоллвуда), «следующий код может оказаться полезным». Это усовершенствование кода, приведенного выше, от Питера Смоллвуда (которое «является усовершенствованием кода, приведенного выше от пользователя user3616725»). Это исправляет следующие ошибки в решении Питера Смоллвуда:
ПРИМЕЧАНИЕ. Вы по-прежнему не сможете копировать символы, встроенные в ячейку, которые могут вызвать выход из целевого поля, в которое вы вставляете эту ячейку (например, вкладка или CR при вставке в окно редактирования таблицы доступа или SSMS).
источник
Чтобы при вставке в блокнот сохранялись разрывы строк, замените эту строку в макросе:
по:
источник
Пожалуйста, используйте приведенную ниже формулу
и вы получите то, что хотите ;-)
источник
Вы можете сделать это в макросе Excel через VBA, отправив результаты в файл:
И если вы хотите получить имена файлов и содержимое в несколько файлов, вот небольшой фрагмент, который избегает двойных кавычек вокруг вывода.
источник
источник
Примечание. Причина появления кавычек заключается в том, что при перемещении данных из Excel в буфер обмена они полностью соответствуют стандартам CSV, которые включают значения кавычек, включая табуляции, новые строки и т. Д. (А символы двойных кавычек заменяются двумя символами двойных кавычек)
Таким образом, другой подход, особенно как в случае OP, когда вкладки / новые строки связаны с формулой, заключается в использовании альтернативных символов для вкладок и жестких возвратов. Я использую ascii Unit Separator = char (31) для вкладок и ascii Record Separator = char (30) для новых строк.
Тогда вставка в текстовый редактор не потребует дополнительных правил CSV, и вы можете выполнить быстрый поиск и заменить их, чтобы снова преобразовать их.
Если вкладки / новые строки встроены в данные, вы можете выполнить поиск и заменить в Excel, чтобы преобразовать их.
Независимо от того, используете ли вы формулу или изменяете данные, ключ к выбору разделителей - это никогда не использовать символы, которые могут быть в фактических данных. Вот почему я рекомендую символы ascii низкого уровня.
источник
Также можно удалить эти двойные кавычки, поместив результат в функцию «Очистить».
Пример:
Вывод будет вставлен без двойных кавычек в другие программы, такие как Notepad ++.
источник