Excel - Ayuda para crear una macro

   
Vista:

Ayuda para crear una macro

Publicado por jfdelamor (1 intervención) el 23/07/2009 20:42:56
Hola amigos
me dirjo a ustedes para plantearles mi problema, tengo que generar una serie de fichero mensuales a partir de ficheros diarios, de forma que yo tengo un conjunto de archivos 090712.csv, 090711.csv, y asi con todos los dias del mes, y necesito construir un fichero el fichero mensual que integre todos los .csv en uno solo, para ello he creado una macro en excel que importa los datos, cuyo código es el siguiente:

Sub Macro1()

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:Documents and SettingsJuan FranDesktopPagina Webcsv90622.csv", _
        Destination:=Range("A1"))
        .Name = "090622"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    Range("A100").Select
End Sub

Lo que tendria que hacer seria:
1. Generar un código que me detecte que es el ultimo dia del mes
2. Si es el ultimo dia del mes se ejecuta el codigo que consistiria en un bucle que tiene que ir desde el archivo (Por ejemplo si estamos en julio 2009) 090701.csv hasta el archivo 090731.csv.
3. Ir incrementantdo el parámetro    Destination:=Range("A1"))  para que se vaya incrementando en 100 cada vez que se haga un ciclo del bucle, de forma que los nuevos datos no machaquen a los anteriores.

El problema es que no tengo ni idea de visual basic, agradeceria cualquier tipo de ayuda.

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder