Imprimir página | Cerrar ventana

Seleccionar y grabar

Impreso de: Foro de Access y VBA
Categoría: Otros de Microsoft: Windows y Office
Nombre del foro: Excel
Descripción del foro: Foro de Excel y VBA de Excel
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=66999
Fecha de impresión: 11/Diciembre/2019 a las 06:09


Tema: Seleccionar y grabar
Publicado por: makinavaja
Asunto: Seleccionar y grabar
Fecha de publicación: 01/Enero/2011 a las 13:07
Hola,

Me preguntaba si existe alguna función que grabe a un archivo de TXT, la selección que le digamos.

Tengo esta rutina


Sub Grabar_Seleccion()
Set FileSysObj = CreateObject("Scripting.FileSystemobject")
Set ArchivoTxt = FileSysObj.CreateTextFile("C:\hola.txt", True)


Dim cadena$, sep$, celda As Range, fila&
&&&&fila = Selection.Row
For Each celda In Selection
celda = Val(Format(celda, "0"))
&&&&If celda.Row > fila Then
&&&&&&ArchivoTxt.WriteLine cadena
&&&&&&cadena = ""
&&&&&&fila = celda.Row
&&&&End If
&&&&If cadena = "" Then sep = "" Else sep = ","
&&&&cadena = cadena & sep & celda.Value
Next celda
ArchivoTxt.WriteLine cadena
End Sub


Esta rutina me graba la selección que le he marcado anteriormente de ejecutar la macro separando las columnas con ",".

Mis dudas:

¿Porque al grabar números con decimales me los redondea? Quita los valores decimales y marca ,00

Podría hacerse para que grabase varias selecciones y los grabase en un archivo incrementando en 1 el nombre?

Es que tengo que grabar varias selecciones en diferentes archivos

Ejemplo

Seleccionar C6:E19
Grabar "a01.txt"

Seleccionar C26:E38
Grabar "a02.txt"

Seleccionar C44:E57
Grabar "a03.txt

Las selecciones se incrementan en 20 la "C" y en 19 la "E"

Un saludo y gracias



Respuestas:
Publicado por: AnSanVal
Fecha de publicación: 01/Enero/2011 a las 23:21

¿Porque al grabar números con decimales me los redondea? Quita los valores decimales y marca ,00.

Esta instrucción...
celda = Val(Format(celda, "0"))
... captura sólo la parte entera.

¿Podría hacerse para que grabase varias selecciones y los grabase en un archivo incrementando en 1 el nombre?

Si. pero esa es una duda diferente.



-------------
Aprendemos intentando resolver dudas ajenas (un mundo solidario es mejor mundo).

Mi http://achinet.mvp-access.es/" rel="nofollow - sitio_web con ejemplos Excel.



Imprimir página | Cerrar ventana