Problema :
al copiar una celda de Excel fuera del programa, las comillas dobles se agregan automáticamente.
Detalles :
estoy usando Excel 2007 en una máquina con Windows 7. Si tengo una celda con la siguiente fórmula:
="1"&CHAR(9)&"SOME NOTES FOR LINE 1."&CHAR(9)&"2"&CHAR(9)&"SOME NOTES FOR LINE 2."
La salida en la celda (formateada como número) se ve así en Excel:
1SOME NOTES FOR LINE 1.2SOME NOTES FOR LINE 2.
Bien y bueno. Pero, si copio la celda en otro programa, como el bloc de notas, aparecen molestas comillas dobles al principio y al final. Observe que las pestañas creadas por "CHAR (9)" se mantienen, lo cual es bueno.
"1 SOME NOTES FOR LINE 1. 2 SOME NOTES FOR LINE 2."
¿Cómo puedo evitar que aparezcan estas comillas dobles cuando copio en otro programa? En otras palabras, ¿puedo evitar que se agreguen automáticamente cuando la celda se copia al portapapeles?
Respuestas:
Si intenta pegar en Word-Pad, Notepad ++ o Word, no tendrá este problema. Para copiar el valor de la celda como texto puro, para lograr lo que describe, debe usar una macro:
En el libro de trabajo donde desea que se aplique esto (o en su Personal.xls si desea usarlo en varios libros de trabajo), coloque el siguiente código en un módulo estándar:
Código:
Para agregar un módulo estándar a su proyecto (libro de trabajo), abra el VBE con Alt+F11 y luego haga clic con el botón derecho en su libro de trabajo en la ventana del proyecto superior izquierda y seleccione Insertar> Módulo. Pegue el código en la ventana del módulo de código que se abrirá a la derecha.
De vuelta en Excel, vaya a Herramientas> Macro> Macros y seleccione la macro llamada "CopyCellContents" y luego elija Opciones en el cuadro de diálogo. Aquí puede asignar la macro a una tecla de método abreviado (por ejemplo, como CTRL+ Cpara copia normal) - yo usé CTRL+Q .
Luego, cuando desee copiar una sola celda en el Bloc de notas / donde sea, simplemente haga Ctrl + q (o lo que elija) y luego haga un CTRL+V o Editar> Pegar en el destino elegido.
Mi respuesta se copia (con algunas adiciones) de: aquí
EDITAR : (de los comentarios)
Si no encuentra la biblioteca de Microsoft Forms 2.0 en la lista de referencias, puede intentar
C:\Windows\System32\FM20.dll
(Windows de 32 bits) (gracias @JWhy)C:\Windows\SysWOW64\FM20.dll
(en 64 bits)fuente
Acabo de tener este problema y envolver cada celda con la
CLEAN
función lo solucionó por mí. Eso debería ser relativamente fácil de hacer=CLEAN(
, seleccionando su celda y luego autocompletando el resto de la columna. Después de hacer esto, las pegas en el Bloc de notas o en cualquier otro programa ya no tenían comillas duplicadas.fuente
Primero péguelo en Word, luego puede pegarlo en el bloc de notas y aparecerá sin las comillas
fuente
Si desea seleccionar varias celdas y copiar sus valores al portapapeles sin todas esas molestas comillas, el siguiente código puede ser útil. Esta es una mejora del código proporcionado anteriormente por user3616725.
fuente
Mi solución cuando llegué al problema de las comillas fue eliminar los retornos de carro del final del texto de mis celdas. Debido a estos retornos de carro (insertados por un programa externo), Excel estaba agregando comillas a toda la cadena.
fuente
Posible problema en relación con la respuesta de "user3616725":
Estoy en Windows 8.1 y parece haber un problema con el código VBA vinculado de la respuesta aceptada de "user3616725":
Detalles: Al
ejecutar el código anterior y pegar el portapapeles en una celda en Excel, obtengo dos símbolos compuestos por cuadrados con un signo de interrogación adentro, como este: ⍰⍰. Pegar en el Bloc de notas ni siquiera muestra nada.
Solución:
Después de buscar durante bastante tiempo, encontré otro script VBA del usuario "Nepumuk" que hace uso de la API de Windows . Aquí está su código que finalmente funcionó para mí:
Para usarlo de la misma manera que el primer código VBA de arriba, cambie el Sub "Beispiel ()" de:
A:
Y ejecútelo a través del menú de macros de Excel como se sugiere desde "user3616725" de la respuesta aceptada:
Editar (21 de noviembre de 2015):
@ comentario de "dotctor": ¡
No, esta en serio no es una pregunta nueva! En mi opinión, es una buena adición para la respuesta aceptada, ya que mi respuesta aborda los problemas que puede enfrentar al usar el código de la respuesta aceptada. Si tuviera más reputación, habría creado un comentario.
@ comentario de "Teepeemm":
Sí, tiene razón, las respuestas que comienzan con el título "Problema:" son engañosas. Cambiado a: "Posible problema en relación con la respuesta de" user3616725 ":". Como comentario ciertamente habría escrito mucho más compacto.
fuente
"Si desea seleccionar varias celdas y copiar sus valores en el portapapeles sin todas esas molestas comillas" ( sin los errores de la solución de varias celdas de Peter Smallwood) "el siguiente código puede ser útil". Esta es una mejora del código proporcionado anteriormente por Peter Smallwood (que "es una mejora del código proporcionado anteriormente por user3616725"). Esto corrige los siguientes errores en la solución de Peter Smallwood:
NOTA: Aún no podrá copiar caracteres incrustados dentro de una celda que causarían una salida del campo de destino en el que está pegando esa celda (es decir, tabulador o CR al pegar en la ventana Editar tabla de acceso o SSMS).
fuente
Para mantener los saltos de línea al pegar en el bloc de notas, reemplace esta línea en la macro:
por:
fuente
Utilice la siguiente fórmula
y obtendrás lo que quieres ;-)
fuente
Puede hacer esto en una macro de Excel a través de VBA, enviando los resultados a un archivo:
Y si desea obtener nombres de archivo y contenido en varios archivos, aquí hay un breve fragmento que evita las comillas dobles alrededor de la salida.
fuente
fuente
Nota: La causa de las comillas es que cuando los datos se mueven de Excel al portapapeles, cumplen totalmente con los estándares CSV que incluyen valores de comillas que incluyen tabulaciones, nuevas líneas, etc. (y los caracteres de comillas dobles se reemplazan por dos caracteres de comillas dobles).
Entonces, otro enfoque, especialmente como en el caso de OP cuando las pestañas / nuevas líneas se deben a la fórmula, es usar caracteres alternativos para las pestañas y los retornos duros. Utilizo el Separador de unidades ascii = char (31) para las pestañas y el Separador de registros ascii = char (30) para las nuevas líneas.
Luego, pegar en el editor de texto no involucrará las reglas CSV adicionales y puede hacer una búsqueda rápida y reemplazarlas para convertirlas nuevamente.
Si las pestañas / nuevas líneas están incrustadas en los datos, puede hacer una búsqueda y reemplazarlas en Excel para convertirlas.
Ya sea usando una fórmula o cambiando los datos, la clave para elegir delimitadores nunca es usar caracteres que puedan estar en los datos reales. Por eso recomiendo los caracteres ascii de bajo nivel.
fuente
También es posible eliminar estas comillas dobles colocando su resultado en la función "Limpiar".
Ejemplo:
La salida se pegará sin las comillas dobles en otros programas como Notepad ++.
fuente