Como copiar texto de várias linhas do Excel sem aspas?

71

Quando você cria uma string de várias linhas em uma célula do Excel (usando Alt-Enter), se você copiar essa célula para um editor de texto, o Excel adicionará automaticamente aspas duplas (") ao redor da string completa, ou seja:

Cell1  |   Simple String 1 
Cell2  |   First line of a 
       |   Multiline string
       |   with 3 lines 
Cell3  |   Another simple line 2

Quando você copia apenas a coluna com valores para um editor de texto, obtemos:

Simple String 1
"First line of a 
Multiline string
with 3 lines"
Another simple line 2

Como posso dizer ao Excel para não adicionar aspas ao texto de várias linhas ao copiar do Excel?


Edit: Editores de texto que eu tentei que exibem esse comportamento:

  • MS Word
  • Prancheta
  • Bloco de anotações
  • Notepad ++
  • SQL Server Studio

Se você tem uma sugestão sobre o uso de um editor específico (ou um dos itens acima), diga-me qual e como usá-lo ...

Andrew Bickerton
fonte
4
Pelo que vale, é porque o Excel tenta gerar um CSV válido . Eu ficaria surpreso se isso fosse fácil de mudar.
slhck
@slhck eu espero que você está errado, uma vez que seria muito útil para ser capaz de dizer se destacar que não estou copiando para CSV ... (resposta agradável em que, embora!)
Andrew Bickerton
3
Isso é muito chato. Não há motivo legítimo para o Excel colocar aspas em torno do texto que contém um retorno de carro.
Oscilatingcretin
11
As planilhas do Google fazem a mesma coisa irritante. Estou tentando copiar várias células de dados em um arquivo de texto, mas o Google Spreadsheets adiciona aspas aos dados - as cotações NÃO estão nos dados de origem. Isso é um bug para mim, não um recurso.
21812 Jonny
Há uma resposta que usa o VBA postado aqui: stackoverflow.com/a/24913557/976210 Isso funcionou muito melhor para mim, pois não quero ter que usar um programa intermediário.
Kit Johnson

Respostas:

20

Como o texto é copiado para o Word depende da opção de formatação escolhida. No Word 2010, a opção de formato padrão é HTML Format. Existem quatro opções principais de como copiar texto no Word. ( Formatted Text (RTF), Unformatted Text, HTML Format, & Unformatted Unicode Text)

A colagem com texto formatado cria minitabelas no Word. (Os contornos azuis.)

Colar opções especiais

Para obter texto não formatado no Word sem as aspas duplas:

  1. Cole o texto formatado para criar a tabela.
  2. Selecione a tabela e copie-a.
  3. Mova para um espaço em branco e cole a nova cópia como texto não formatado. ( Alt + E, S)

Isso também funciona para colar os resultados sem aspas em outro editor. Simplesmente altere a etapa 3 para colar no outro editor.

Provavelmente seria mais rápido, no entanto, simplesmente colar como normal e usar Substituir para encontrar e remover todas as aspas duplas.

mischab1
fonte
+1 boa resposta com técnica para resolvê-lo! (infelizmente para o bloco eu estava lidando com, havia aspas válidos que eu queria manter)
Andrew Bickerton
Marcar com +1 essas coisas estúpidas realmente me faz querer procurar um produto de escritório diferente. Talvez escritório estrela ou algo assim. obrigado pelo truque
bicycle
22

Se você copiar um intervalo do Excel (2010) para o Word, receberá o texto como desejar, sem aspas. Em seguida, você pode copiá-lo novamente para seu destino final, por exemplo, o bloco de notas. O Excel-> Word-> Bloco de Notas fornecerá os resultados desejados.

s_a
fonte
O Word exibe esse comportamento quando você copia com outras células (conforme descrito na pergunta). Ou isso é algo que eles classificaram no Office 2010?
Andrew Bickerton
2
Até agora, isso funciona. É uma pena que eu tenha que usar o Word 2010 como intermediário para remover as aspas.
Oscilatingcretin
Isso funciona para o Mac Office 2011 também.
Lewis42
3

A maneira mais fácil que encontrei é concatenar as células que você deseja que estejam em várias linhas com algo "especial" entre elas, em vez de cr / lf. Tilde geralmente funciona bem para mim. Por exemplo, na coluna G:

=E1&"~"&F1
=E2&"~"&F2
...

Neste exemplo, o objetivo final é obter um arquivo de texto com os valores de E1 em uma linha, seguidos de F1 em uma nova linha, seguidos de E2, F2, etc. valores, apenas incluído ~ para as quebras de linha.

Em seguida, para obter um arquivo de texto com várias linhas no Notepad ++

  • Recortar e colar no Notepad ++
  • Ctrl-H para abrir a caixa de diálogo de substituição
  • Verifique se a opção de pesquisa "estendida" está selecionada
  • Substitua todos ~ por \ n (ou \ r \ n se você preferir)
randomScott
fonte
Como desenvolvedor, eu gosto deste, uma vez que não requer uma terceira ferramenta como o Word.
VSB
2

Não é problema do Excel. Como o pôster anterior diz, ele está apenas enviando dados CSV válidos. Depende do editor colocá-lo para cuidar da formatação. Eu sugeriria usar algo um pouco mais inteligente do que o bloco de notas ... Você poderia usar o MS Word como um intermediário do Excel para qualquer editor de texto que desejasse usar além do Word.

Michael Beck
fonte
2
Eu uso algo diferente do bloco de notas ... Também Palavra faz exatamente a mesma coisa (colando apenas essa célula com "'s)
Andrew Bickerton
O Word 2010 com configurações padrão funciona perfeitamente bem como um intermediário.
Adam Ryczkowski
Eu descobri isso ontem. Eu concordo com Andrew Bickerton. Não quero copiar CSV, quero copiar texto. O Excel deve pelo menos perguntar. Como meu texto tinha cerca de duas mil inserções SQL, eu era capaz de resolvê-lo facilmente com o PsPad. Apesar de ser fácil, era completamente desnecessário.
alvaroc
1

Eu tive o mesmo problema e usei as seguintes etapas (estou usando o Office 2007, mas acho que também funciona para versões posteriores):

  1. Selecionou o intervalo de células que contêm texto com várias linhas do Excel que desejo colar em outro editor e, em seguida, escolha Copiar.
  2. No Word 2007, colei o intervalo de células copiado como uma tabela.
  3. Selecione a tabela.
  4. Na guia Layout, escolha Selecionar tabela.
  5. Na seção de dados, escolha Converter em texto e escolha Marcas de parágrafo.

O resultado é a tabela original convertida em texto, com caracteres de nova linha no final de cada linha e marcas de parágrafo no final da última linha de cada célula.

Tom
fonte
1

Você pode salvar o documento do Excel como uma página da Web e, em seguida, copiar o texto da página. Isso funciona bem para uma única coluna de dados, mas certifique-se de definir a largura da coluna para a largura do texto, caso contrário, ele adicionará quebras de linha.

solvus
fonte
1

Eu tive esse problema hoje, então pensei em postar uma resposta caso alguém ainda esteja preso a ela.

Você pode contornar isso destacando a célula e, em seguida, copie e cole o código diretamente da barra de texto na parte superior, clicando nele e destacando tudo manualmente.

Eu fiz isso apenas no Excel 2010, então não sei se isso funcionará para versões anteriores.

Matt
fonte
Isso é perfeito, embora eu tivesse que pegar meu celular que continha a fórmula CONCAT (A1: A100) e colar Special em uma segunda célula antes de poder selecionar tudo da caixa de texto como você descreveu
nvuono
1

Não pode ser necessário prepará-lo para um arquivo CSV, porque eles seriam estúpidos por serem tão sofisticados quanto as células superiores e finais que contêm caracteres não imprimíveis com aspas e não fazem o mesmo para células que contêm vírgulas (o que não é 't).

De qualquer forma. Me deparei com esse problema quando tentei criar etiquetas de endereço a partir dos campos Nome, Sobrenome, Linha de Endereço 1 ... como:

=A1&" "&B1&CHAR(13)&CHAR(10)&C1&CHAR(13)&CHAR(10)&D1

CHAR(13)seguido de CHAR(10)um novo parágrafo ao visualizar um arquivo de texto com um editor hexadecimal.

Minha maneira de contornar esse aborrecimento é:

  • copie e cole as células / coluna no Word.
  • Use o símbolo suspenso da área de transferência (canto inferior esquerdo da página ou texto colado) para selecionar Manter apenas texto .
  • Selecione o texto colado. Você só precisa fazer isso se o documento contiver outros itens que possam ser afetados
  • Pressione Ctrl+ Hpara exibir a caixa de diálogo Localizar e substituir .
  • No campo Localizar , digite: "^p"(todos os quatro caracteres).
    Pode ser necessário ir para Ferramentas -> Opções de AutoCorreção e, em seguida, ambas as guias AutoFormatação para garantir que não altere suas aspas diretas)
  • No campo Substituir por , insira: ^p(2 caracteres)
  • Agora pressione o botão Substituir tudo
  • Finalmente, você terá que excluir manualmente as aspas duplas no início e no final do bloco importado

Isso se baseia no Office 2003, portanto, sua versão do Microsoft Word pode ser um pouco diferente.

D. Adams
fonte
0

Eu usei a CLEARfunção e funcionou para mim.

Coloque as células que você deseja copiar dentro CLEAR, por exemplo:

=clear(A1)

Onde A1está a célula com os dados que você deseja copiar para o bloco de notas sem as aspas.

wizwig
fonte
15
Eu acho que você quer dizer CLEAN. (Pelo menos no Excel 2010.) No entanto, isso removeria os caracteres do feed de linha e sua segunda frase não seria mais multilinha.
mischab1
0

Sei que esse é um tópico antigo, mas minha solução foi usar CLEAN conforme sugerido, copie essas células e cole os valores novamente em uma planilha. Dessa forma, eu poderia editar o texto no resultado final e copiar e colar as células em um documento de texto sem as aspas.

Eu acho que limpar o texto primeiro e depois a formatação final provavelmente funcionaria (pelo menos, funcionou para mim).

Alan Reeves
fonte
2
Uma coisa a observar, acredito que o método "Clean" também removerá os caracteres de retorno de carro e o passado resultante não será de várias linhas.
0

Teve o mesmo problema, finalmente o corrigiu com muita facilidade. Eu tinha 600 linhas de longas descrições de produtos. Para corrigir esse problema, fiz o seguinte:

1) Selecione a coluna inteira e clique em 'Quebrar texto'.

2) Mantendo a coluna selecionada, clique em 'Quebrar texto' NOVAMENTE (para que o texto não fique 100% quebrado).

PRESTO - o texto copiado de cada célula perfeitamente, sem aspas (mesmo que sejam parágrafos longos).

Por padrão, o Excel adiciona aspas a qualquer texto com várias linhas. Portanto, a solução simples, fornecida pelo processo acima, é garantir que suas células com texto longo não sejam agrupadas automaticamente em várias linhas.

Pode valer a pena notar que, antes de fazer isso, as células pareciam normais e NÃO pareciam estar envolvidas. Eu acho que o processo acima 'diz' ao Excel para NÃO interpretar qualquer célula como texto 'multilinhas', mesmo que seja um parágrafo longo, resolvendo o problema 'Excel adicionando aspas ao texto copiado'.

CompelVentures
fonte
2
Oi, não é a solução certa. Isso só funciona se você não tem nenhum retornos de carro internos em suas células (Pressione Alt-Enter para criar um retorno de carro interno)
Andrew Bickerton
0

Encontrei uma solução fácil para isso. Instale o OpenOffice Calc e abra o arquivo .xlsx. Em seguida, basta copiar o conteúdo da célula e colar em qualquer editor de texto. As aspas iniciais e finais irritantes não aparecerão.

user863611
fonte
0

Eu sei que este é o ano de 2018, e essas postagens são mais antigas, mas ainda são relevantes. Eles me ajudaram a descobrir uma solução.

  1. Eu coloquei = A2, que está olhando para a célula com o Char na fórmula.
  2. Copiei A2 e colei como valores em outra célula, por exemplo A3.
  3. Eu, então, selecionadas A3, pressionado F2, CtrlShiftHome, CtrlC.
  4. Pare aí mesmo, não cole em outra célula do excel. deixe na área de transferência e cole no bloco de notas.
  5. As aspas invisíveis desaparecem.

Desaparecer como INXS disse, Desaparecer! : =)

Alguém já pode ter dito essa solução, então, desculpe-me, depois de ler todos os exemplos, algo afundou em meus pensamentos e todos vocês ajudaram!

me.guest
fonte
-1

Como você, eu tinha meus dados em uma coluna. Então, para copiar os valores sem essas aspas, concatenarei a coluna inteira com os dados. Isso é para planilhas do Google Docs, mas acho que poderia funcionar para o Excel, talvez seja necessário alterar a função CONCATENATE.

Para concatenar a coluna G inteira:

=CONCATENATE(G:G)

Ele adicionou aspas apenas primeiro e último e é fácil o suficiente editar manualmente depois.

Jonny
fonte
não funciona para excel
Baljeetsingh
-1

trabalhando na resposta do solvus, podemos criar uma página de publicação automática, com apenas o intervalo de texto desejado - sem aspas. você pode copiar e colar isso em outros locais. Depois de configurá-lo, ele estará lá para sempre e atualizado, sem mexer com o arquivo principal.

para fazer isso,...

Selecione suas células e depois save as.. save as file type= Single File Web Page. com a opção Republish $ : $(o intervalo selecionado.)

clique em publicar. selecione AutoRepublish every time this workbook is saved.

  • você publicará uma página da Web que possui apenas seus dados à distância, em formato de tabela sem aspas. copiar e colar :)
user34210
fonte