En este grupo En todos

Foro de Excel



Pasar datos xls a txt sin las comillas

Escrito por Rafa
el 31/08/2006

Hola,

Tengo este codigo que me pasa los datos de excel de la columna A1 a txt del bloc de notas. Pero me los pasa entre comillas Ejm:

En exccel los datos estan asi : 1232145

Y en txt me los pasa asi: "1232145"

Y yo quiero que no me salgan las comillas.

Alguien puede ayudarme... Gracias.

Este es el codigo:

Private Sub CommandButton2_Click()
Sheets("Hoja1"). Activate
If Sheets("Hoja1"). Activate Then
Range("A1"). Select
Rem si no hay ningún dato en A1 que no archive de nuevo
If ActiveCell = Empty Then GoTo salte
Rem abre un archivo en la unidad c con el nombre de datos. Txt
Rem en forma de añadir Temporal (Output) en el área de almacenamiento #1
Open "c:\datos. Txt" For Output As 1
Rem activa una etiqueta para poder regresar
regresa:
Rem captura el código en una variable
Codigo = ActiveCell
Rem escribe los datos de Codigo en el archivo txt
Write #1, Codigo,
Rem baja un renglón para el siguiente nombre
ActiveCell. Offset(1, 0). Select
Rem si la celda esta vacía que no regrese ya
If ActiveCell = Empty Then GoTo salte
Rem regresa a escribir el siguiente nombre en el archivo
GoTo regresa:
salte:
Rem se acabo
Rem cierra el archivo
Close #1
End If
End Sub

Enrique
Escrito por Enrique
el 31/08/2006

A mi me corre bien y no me pone comillas, prueba modif. Lo sig. Actualmente tienes:

Rem captura el código en una variable
Codigo = ActiveCell

Sambia por:

Codigo = Val(ActiveCell)

Sino deberá ser alguna config....

Abraham Valencia
Computacion e informatica microsoft mv...
Escrito por Abraham Valencia
el 31/08/2006
Como dice Pavel, el codigo esta bien. De seguro en tu hoja de excel, las celdas no tienen formato numerico sino de texto.

Abraham
Escrito por Rafa
el 31/08/2006

Pues se me olvido decir que las columnas tienen numeros y texto

Ejem:   12AB21XZ1

Asi es como tendria que quedar en el bloc de notas txt.

Asi es como me sale   "12AB21XZ1"

Y quiero eliminar las comillas.

Gracias a los dos.

Rafa.

Enrique
Escrito por Enrique
el 31/08/2006

Private Sub CommandButton2_Click()
Sheets("Hoja1"). Activate
If Sheets("Hoja1"). Activate Then
Range("A1"). Select
Rem si no hay ningún dato en A1 que no archive de nuevo
If ActiveCell = Empty Then GoTo salte
Rem abre un archivo en la unidad c con el nombre de datos. Txt
Rem en forma de añadir Temporal (Output) en el área de almacenamiento #1
Open "c:\datos2. Txt" For Output As 1
Rem activa una etiqueta para poder regresar
regresa:
Rem captura el código en una variable
Codigo = Codigo & "," & ActiveCell
Rem escribe los datos de Codigo en el archivo txt
Rem baja un renglón para el siguiente nombre
ActiveCell. Offset(1, 0). Select
Rem si la celda esta vacía que no regrese ya
If ActiveCell = Empty Then GoTo salte
Rem regresa a escribir el siguiente nombre en el archivo
GoTo regresa:
salte:

Print #1, Mid(Codigo, 2, Len(Codigo))
Rem se acabo
Rem cierra el archivo
Close #1
End If
End Sub


Sólo modifiqué algunas cosillas

Escrito por Rafa
el 01/09/2006

Hola Pavel

Lo que pasa es que me deja los datos en el txt. En la misma linea y yo necesito ponerlos uno debajo de otro , asi:

12AA12DX

12XX2CVC

213XCVS2

Gracias por tu ayuda.

Rafa.

Enrique
Escrito por Enrique
el 05/09/2006

Hola Rafa, disculpa por el retraso pero estuve ausente algunos días, efectivamente el código anterior los pone en una sóla fila, que es la manera como lo ponía el original, pero este lo pone en columna como creo que lo quieres.... Saludos

Private Sub CommandButton2_Click()
Sheets("Hoja1"). Activate
If Sheets("Hoja1"). Activate Then
Range("A1"). Select
Rem si no hay ningún dato en A1 que no archive de nuevo
If ActiveCell = Empty Then GoTo salte
Rem abre un archivo en la unidad c con el nombre de datos. Txt
Rem en forma de añadir Temporal (Output) en el área de almacenamiento #1
Open "c:\datos. Txt" For Output As 1
Rem activa una etiqueta para poder regresar
regresa:
Rem captura el código en una variable
Codigo = ActiveCell
Rem escribe los datos de Codigo en el archivo txt
Print #1, Codigo
Rem baja un renglón para el siguiente nombre
ActiveCell. Offset(1, 0). Select
Rem si la celda esta vacía que no regrese ya
If ActiveCell = Empty Then GoTo salte
Rem regresa a escribir el siguiente nombre en el archivo
GoTo regresa:
salte:
Rem se acabo
Rem cierra el archivo
Close #1
End If
End Sub

Escrito por Elvira
el 24/07/2008
"Pues se me olvido decir que las columnas tienen numeros y texto
Ejem:   12AB21XZ1
Asi es como tendria que quedar en el bloc de notas txt.
Asi es como me sale   "12AB21XZ1"
y quiero eliminar las comillas.
Gracias a los dos.
Rafa.
"

por Rafa (Agosto 2006)

LAS CELDAS EN EXCEL DEBEN TENER EL FORMATO DE TEXTO   ENTONCES CUANDO PASAN A TXT NO APARECEN LAS COMILLAS*** RECORDAR IR A FORMATO DE CELDAS PRIMERO ELEGIR LA COLUMNA O LA FILA, Y ELEGIR (NO FORMATO GENERAL, NI NUMERICO, NI FECHA, ETC. ) TEXTO

Pbr
Aguascalientes, México
Escrito por Pbr
el 29/08/2008
"Hola Rafa, disculpa por el retraso pero estuve ausente algunos días, efectivamente el código anterior los pone en una sóla fila, que es la manera como lo ponía el original, pero este lo pone en columna como creo que lo quieres.... Saludos
Private Sub CommandButton2_Click()
Sheets("Hoja1"). Activate
If Sheets("Hoja1"). Activate Then
Range("A1"). Select
Rem si no hay ningún dato en A1 que no archive de nuevo
If ActiveCell = Empty Then GoTo salte
Rem abre un archivo en la unidad c con el nombre de datos. Txt
Rem en forma de añadir Temporal (Output) en el área de almacenamiento #1
Open "c:datos. Txt" For Output As 1
Rem activa una etiqueta para poder regresar
regresa:
Rem captura el código en una variable
Codigo = ActiveCell
Rem escribe los datos de Codigo en el archivo txt
Print #1, Codigo
Rem baja un renglón para el siguiente nombre
ActiveCell. Offset(1, 0). Select
Rem si la celda esta vacía que no regrese ya
If ActiveCell = Empty Then GoTo salte
Rem regresa a escribir el siguiente nombre en el archivo
GoTo regresa:
salte:
Rem se acabo
Rem cierra el archivo
Close #1
End If
End Sub
"

por Pavel (Septiembre 2006)



hola: de visita en este foro la verdad es que me sirvio mucho tu codigo solo tengo una pequeña duda es posible este codigo para un documento con mas celadas?

Gracias

Enrique
Escrito por Enrique
el 08/09/2008

Hola, la macro deja de correr hasta que encuentra una celda vacía:

 

If ActiveCell = Empty Then GoTo salte

O a que te refieres específicamente?

Educruz
Jalisco, México
Escrito por Educruz
el 19/09/2008
"Hola, la macro deja de correr hasta que encuentra una celda vacía:
 
If ActiveCell = Empty Then GoTo salte

O a que te refieres específicamente?
"

por Pavel (Septiembre 2008)

Tengo la misma pregunta. La macro me serviria si tengo mas de una columna con datos? Es decir si tengo 6 columas con datos que ocupo pasar a txt.