rango de archivo excel pasar a formato txt

23/09/2011 - 19:53 por OSG | Informe spam
Buenas tardes espero me puedan ayudar por favor, tengo el siguiente
codigo , pero a la hora que me pasa algunos datos me los convierte a
un formato que no deseo, por ejemplo las fechas son 09-09-2011 y me
los pone 9/9/2011, asi como otro tipo de formato, ademas la ruta donde
deseo guargarlo debe de ser R:\datos\polizas

Muchas gracias por su ayuda por adelantado.

Saludos.

Sub RangoXlsaTxT()

Dim rng As Range, nombr As String
On Error Resume Next
Set rng = Application.InputBox("Selecciona el rango a guardar:",
Type:=8)
If rng Is Nothing Then Exit Sub

Workbooks.Add xlWBATWorksheet
rng.Copy: [a1].PasteSpecial xlPasteValuesAndNumberFormats

nombr = ThisWorkbook.Path & "" & Format(Now, "yyyymmddhhmmss") & ".
Txt"

ActiveWorkbook.SaveAs Filename:=nombr, FileFormat:=xlTextMSDOS
ActiveWorkbook.Close False
MsgBox "Creado archivo: " & vbCrLf & nombr
End Sub

Preguntas similare

Leer las respuestas

#1 Emilio
23/09/2011 - 20:09 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Hola!
si la exportación la haces de esa manera pierdes todo el control sobre el
proceso y Excel hace lo que considera oportuno.

En mi web tengo un ejemplo de como hacerlo y de ese modo podrás ajustar todo
lo que te convenga

http://www.mvp-access.es/emilio/Des...?IdEjemplo2

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"OSG" escribió en el mensaje de noticias
news:
Mostrar la cita
__________ Information from ESET Smart Security, version of virus signature database 6488 (20110923) __________

The message was checked by ESET Smart Security.

http://www.eset.com
#2 OSG
26/09/2011 - 16:53 | Informe spam
On 23 sep, 13:09, "Emilio" wrote:
Mostrar la cita
Buenas dias, muchas gracias por contestar, esta muy bien tu repuesta,
pero solo necesito un rango de la hoja de excel, no toda la hoja, como
le puedo hacer?


Muchas gracias.
Saludos.
#3 Emilio
26/09/2011 - 18:28 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Hola!
cambia la linea

For Each Celda In ActiveSheet.Range("A2").CurrentRegion

por

For Each Celda In ActiveSheet.Range("ElRangoQueSea")

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"OSG" escribió en el mensaje de noticias
news:
On 23 sep, 13:09, "Emilio" wrote:
Mostrar la cita
Buenas dias, muchas gracias por contestar, esta muy bien tu repuesta,
pero solo necesito un rango de la hoja de excel, no toda la hoja, como
le puedo hacer?


Muchas gracias.
Saludos.

__________ Information from ESET Smart Security, version of virus signature
database 6493 (20110925) __________

The message was checked by ESET Smart Security.

http://www.eset.com




__________ Information from ESET Smart Security, version of virus signature database 6493 (20110925) __________

The message was checked by ESET Smart Security.

http://www.eset.com
#4 OSG
26/09/2011 - 18:37 | Informe spam
On 26 sep, 11:28, "Emilio" wrote:
Mostrar la cita
Buenos dias muchas gracias por constestar, pero tengo varias hojas con
diferentes rangos cada una, en ocasiones son mas grandes o mas chicos,
lo que quiero es no entrar al codigo y cambiar cada rango
manualmente,no podria haber algo como la macro que puse inicialmente.

Dim rng As Range, nombr As String
On Error Resume Next
Set rng = Application.InputBox("Selecciona el rango a guardar:",
Type:=8)
If rng Is Nothing Then Exit Sub


Muchas gracias.
Saludos.
#5 Emilio
26/09/2011 - 19:11 | Informe spam
¡Importante!: Colabora con el grupo.Contesta a este mensaje y dinos si te
sirvió o no la respuesta dada. Muchas gracias
Hola!
en primer lugar esto:
Set rng = Application.InputBox("Selecciona el rango a guardar:",Type:=8)
no puede funcionar nunca, el inputbox devuelve una cadena de texto, que no
puede ser aplicada a un objeto rango.

Asi pues, barás de modificar eso

For Each Celda In ActiveSheet.Range( Application.InputBox("Selecciona el
rango a guardar:",Type:=8))

evidentemente habrás de recorrer una por una cada hoja, lo que me parece una
verdadera barbaridad, hacer la pregunta en cada una de las hojas del libro.

Saludos a todos desde Huelva

Emilio [MS-MVP Access 2006/11]
miliuco56 ALGARROBA hotmail PUNTO com
http://www.mvp-access.com/foro
http://www.mvp-access.es/emilio
"OSG" escribió en el mensaje de noticias
news:
Mostrar la cita
__________ Information from ESET Smart Security, version of virus signature database 6495 (20110926) __________

The message was checked by ESET Smart Security.

http://www.eset.com
Ads by Google
Search Busqueda sugerida