Exportar datos de excel a otro libro

Hola, mira me estoy creando un programilla donde tengo que ingresar una cantidad grande de datos a una hoja de excel, pero cuando se cierra ekl mes esto yo lo exporto con una macro a un archivo de texto TXT mediante un botón de comando el cuial lo hace perfecto, y con otro botón borro todos los datos que se encuentran dentro de un rango, eso lo hago para volvé con el mes siguiente y empezar de cero, por eso yo los datos los exporto para que quede guardado en una carpeta POR y así no copiar y pegar y borrar manualmente.
El asunto es que me funciona te envío el código:
Sub exportar()
'exporta un rango de celdas resultando col de datos
Dim FileSysObj As Object
Dim ArchivoTxt As Object
Dim AreaTexto
AreaTexto = ActiveSheet.Range("B1:B10000").Value
Set FileSysObj = CreateObject("Scripting.FileSystemobject")
Set ArchivoTxt = FileSysObj.CreateTextFile("D:\andres\codigosnexo\227\carga_mes_227.txt", True)
'recorre el rango a copiar
Dim celda
For Each celda In AreaTexto
ArchivoTxt.WriteLine celda
Next
ArchivoTxt.Close
End Sub
Pero, lo que quiero es que al momento de guardar, aparte del titulo del archivo que esta marcado en negro, aparezca la fecha de cuando se guardó, osea carga_mes_227_05-06-2010.txt, ya que como esto se hace todo los meses al exportar los datos, no crea un archivo nuevo si no que "borra el anterior y graba el nuevo", y se pierden los datos y no quiero hacer un guardar como.
De antemano muchas gracias ...

2 Respuestas

Respuesta
1
Es sencillo usando la función Date(). Te adjunto una función "Fecha()" para poner la fecha con el formato que tú quieres.
Luego a la hora de grabar tu archivo sólo tienes que hacer:
Set ArchivoTxt = FileSysObj.CreateTextFile("D:\andres\codigosnexo\227\" & "carga_mes_227_" & FECHA & ".txt", True)
Function FECHA()
Dim N, DIA, MES, AÑO As String
DIA = ""
MES = ""
AÑO = ""
For X = 1 To Len(Date)
    N = Mid(Date, X, 1)
    If Not IsNumeric(N) Then Exit For
    DIA = DIA & N
Next X
For Y = X To Len(Date)
    N = Mid(Date, Y + 1, 1)
    If Not IsNumeric(N) Then Exit For
    MES = MES & N
Next Y
For Z = Y + 1 To Len(Date)
    N = Mid(Date, Z + 1, 1)
    If Not IsNumeric(N) Then Exit For
    AÑO = AÑO & N
Next Z
FECHA = DIA & "-" & MES & "-" & AÑO
End Function
Respuesta
1
Bueno tienes que crear una variable que almacene de forma string la fecha, recuerda invocarla así:
dim fecha as date
Fecha = Date
fechaarchivo = cstr(fecha)
Set ArchivoTxt = FileSysObj.CreateTextFile("D:\andres\codigosnexo\227\carga_mes_227" + fechaarchivo + ".txt", True)
Y listo
Recuerda visitar www.ayconcol.com son expertos en el tema ellos también responden de forma gratuita directamente en la web o por todoexpertos en un pequeño espacio een la página principal, si quieres aprender más puedes meterte en www.ayconcol.com/foro creas usuario y todo y listo! Si quieres ellos también elaboran aplicativos a un costo muy bajo!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas