** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Seleccionar y grabar
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoSeleccionar y grabar

 Responder Responder
Autor
Mensaje Invertir el orden de clasificación
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5532
Enlace directo a este mensaje Tema: Seleccionar y grabar
    Enviado: 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 sitio_web con ejemplos Excel.
Arriba
makinavaja Ver desplegable
Habitual
Habitual
Avatar

Unido: 07/Agosto/2008
Localización: España
Estado: Sin conexión
Puntos: 62
Enlace directo a este mensaje Enviado: 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

Editado por makinavaja - 01/Enero/2011 a las 13:08
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable