Problema :
Ao copiar uma célula do Excel fora do programa, aspas duplas são adicionadas automaticamente.
Detalhes :
estou usando o Excel 2007 em uma máquina com Windows 7. Se eu tiver uma célula com a seguinte fórmula:
="1"&CHAR(9)&"SOME NOTES FOR LINE 1."&CHAR(9)&"2"&CHAR(9)&"SOME NOTES FOR LINE 2."
A saída na célula (formatada como número) se parece com isto no Excel:
1SOME NOTES FOR LINE 1.2SOME NOTES FOR LINE 2.
Bem e bom. Mas, se eu copiar a célula para outro programa, como o bloco de notas, recebo aspas duplas irritantes no início e no final. Observe que as guias criadas por "CHAR (9)" são mantidas, o que é bom.
"1 SOME NOTES FOR LINE 1. 2 SOME NOTES FOR LINE 2."
Como posso evitar que essas aspas duplas apareçam quando copio para outro programa? Em outras palavras, posso evitar que sejam adicionados automaticamente quando a célula é copiada para a área de transferência?
Respostas:
Se você tentar colar no Word-Pad, Notepad ++ ou Word, você não terá esse problema. Para copiar o valor da célula como texto puro, para alcançar o que você descreve, você deve usar uma macro:
Na pasta de trabalho onde você deseja que isso se aplique (ou em seu Personal.xls se desejar usar em várias pastas de trabalho), coloque o seguinte código em um módulo padrão:
Código:
Para adicionar um módulo padrão ao seu projeto (pasta de trabalho), abra o VBE com Alt+ F11e, a seguir, clique com o botão direito em sua pasta de trabalho na janela de projeto superior esquerda e selecione Inserir> Módulo. Cole o código na janela do módulo de código que será aberta à direita.
De volta ao Excel, vá em Ferramentas> Macro> Macros e selecione a macro chamada "CopyCellContents" e escolha Opções na caixa de diálogo. Aqui você pode atribuir a macro a uma tecla de atalho (por exemplo, CTRL+ Cpara cópia normal) - Eu usei CTRL+ Q.
Então, quando você quiser copiar uma única célula para o Bloco de notas / qualquer lugar, basta fazer Ctrl + q (ou o que você escolher) e depois fazer CTRL+ Vou Editar> Colar no destino escolhido.
Minha resposta foi copiada (com alguns acréscimos) de: aqui
EDITAR : (de comentários)
Se você não encontrar a Biblioteca do Microsoft Forms 2.0 na lista de referências, pode tentar
C:\Windows\System32\FM20.dll
(Windows de 32 bits) (obrigado @JWhy)C:\Windows\SysWOW64\FM20.dll
(em 64 bits)fonte
Acabei de ter esse problema e encapsular cada célula com a
CLEAN
função consertou para mim. Isso deve ser relativamente fácil de fazer=CLEAN(
, selecionando sua célula e, em seguida, preenchendo automaticamente o restante da coluna. Depois que fiz isso, as colações no bloco de notas ou em qualquer outro programa não tinham mais citações duplicadas.fonte
Primeiro cole no Word, depois você pode colá-lo no bloco de notas e ele aparecerá sem as aspas
fonte
Se você deseja selecionar várias células e copiar seus valores para a área de transferência sem todas aquelas aspas irritantes, o código a seguir pode ser útil. Este é um aprimoramento do código fornecido acima pelo usuário 3616725.
fonte
Minha solução quando cheguei ao problema das aspas foi retirar os retornos de carro do final do texto das minhas células. Por causa desses retornos de carro (inseridos por um programa externo), o Excel estava adicionando aspas a toda a string.
fonte
Possível problema em relação à resposta de "user3616725":
Estou no Windows 8.1 e parece haver um problema com o código VBA vinculado da resposta aceita de "user3616725":
Detalhes:
Executando o código acima e colando a área de transferência em uma célula do Excel, recebo dois símbolos compostos de quadrados com um ponto de interrogação dentro, como este: ⍰⍰. Colar no bloco de notas nem mostra nada.
Solução:
Depois de pesquisar por algum tempo, encontrei outro script VBA do usuário "Nepumuk" que faz uso da API do Windows . Aqui está seu código que finalmente funcionou para mim:
Para usá-lo da mesma forma que o primeiro código VBA acima, altere o Sub "Beispiel ()" de:
Para:
E execute-o através do menu de macro do Excel, conforme sugerido em "user3616725" a partir da resposta aceita:
Edit (21 de novembro de 2015):
@ comentário de "dotctor":
Não, essa pergunta realmente não é nova! Em minha opinião, é um bom acréscimo para a resposta aceita, pois minha resposta aborda problemas que você pode enfrentar ao usar o código da resposta aceita. Se eu tivesse mais reputação, teria criado um comentário.
@ comentário de "Teepeemm":
Sim, você está certo, as respostas que começam com o título "Problema:" são enganosas. Alterou para: "Possível problema em relação à resposta do" usuário3616725 ":". Como um comentário, certamente teria escrito de forma muito mais compacta.
fonte
"Se você deseja selecionar várias células e copiar seus valores para a área de transferência sem todas aquelas aspas irritantes" ( sem os bugs na solução de várias células de Peter Smallwood) "o código a seguir pode ser útil." Este é um aprimoramento do código fornecido acima por Peter Smallwood (que "é um aprimoramento do código fornecido acima pelo usuário 3616725"). Isso corrige os seguintes bugs na solução de Peter Smallwood:
NOTA: Você ainda não será capaz de copiar caracteres incorporados em uma célula que causaria uma saída do campo de destino em que você está colando essa célula (ou seja, guia ou CR ao colar na janela Editar tabela de acesso ou SSMS).
fonte
Para manter as quebras de linha ao colar no bloco de notas, substitua esta linha na macro:
de:
fonte
Use a fórmula abaixo
e você obterá o que deseja ;-)
fonte
Você pode fazer isso em uma macro do Excel via VBA, enviando os resultados para um arquivo:
E se você deseja obter nomes de arquivos e conteúdo em vários arquivos, aqui está um pequeno trecho que evita aspas duplas na saída.
fonte
fonte
Observação: a causa das aspas é que, quando os dados passam do Excel para a área de transferência, eles estão em total conformidade com os padrões CSV, que incluem valores de citação que incluem tabulações, novas linhas, etc. (e os caracteres de aspas duplas são substituídos por dois caracteres de aspas duplas)
Portanto, outra abordagem, especialmente no caso do OP, quando as tabulações / novas linhas são devidas à fórmula, é usar caracteres alternativos para tabulações e retornos permanentes. Eu uso ascii Unit Separator = char (31) para guias e ascii Record Separator = char (30) para novas linhas.
Então, colar no editor de texto não envolverá as regras CSV extras e você pode fazer uma pesquisa rápida e substituí-las para convertê-las novamente.
Se as guias / novas linhas estiverem embutidas nos dados, você pode fazer uma pesquisa e substituir no Excel para convertê-los.
Seja usando uma fórmula ou alterando os dados, a chave para escolher os delimitadores nunca é usar caracteres que podem estar nos dados reais. É por isso que eu recomendo os personagens ascii de baixo nível.
fonte
Também é possível remover essas aspas duplas, colocando seu resultado na função "Limpar".
Exemplo:
A saída será colada sem as aspas duplas em outros programas, como o Notepad ++.
fonte