Exportar informes en excel en diferentes archivos

Para Dante amor.

Hola Dante, siguiendo en lo que estábamos de los informes y habiéndome pasado la marco actualizada .

Para poner cada informe en carpetas diferentes, teniendo éstas el mismo nombre del informe, ¿es haciéndolo con mkdir?

Esta es la macro que me has pasado;

Sub Generar_Informes()
'Por.Dante Amor
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set h1 = Sheets("TABLA DINAMICA")
Set h2 = Sheets("Plantilla")
Set h3 = Sheets("Informe")
h3.Cells.Clear
i = 5
usu = h1.Cells(i, "A")
ant = usu
h2.Cells.Copy h3.[A1]
h3.Range("A2") = h3.Range("A2") & " " & usu
Do While h1.Cells(i, "D") <> ""
If h1.Cells(i, "A") <> "" Then
usu = h1.Cells(i, "A")
End If
If ant <> usu Then
'guarda hoja
H3. Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & "Informe UL" & ant
ActiveWorkbook. Close
'nuevo informe
H3. Cells. Clear
h2.Cells.Copy h3.[A1]
h3.Range("A2") = h3.Range("A2") & " " & usu
End If
h3.Rows(8).Insert
h3.Cells(8, "A") = h1.Cells(i, "D")
If h1.Cells(i, "C") <> "" Then
fec = h1.Cells(i, "C")
End If
h3.Cells(8, "B") = fec
'
If h1.Cells(i, "A") <> "" Then
ant = h1.Cells(i, "A")
End If
i = i + 1
Loop
MsgBox "Proceso terminado"
End Sub

Cuandontesuelva esto, solo falta lo del calendario diario.

1 Respuesta

Respuesta
2

Así es, se realiza con MkDir

Te anexo la macro actualizada para crear las carpetas y guardar el archivo en la carpeta correspondiente.

Sub Generar_Informes()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set h1 = Sheets("TABLA DINAMICA")
    Set h2 = Sheets("Plantilla")
    Set h3 = Sheets("Informe")
    h3.Cells.Clear
    ruta = ThisWorkbook.Path & "\"
    i = 5
    usu = h1.Cells(i, "A")
    ant = usu
    h2.Cells.Copy h3.[A1]
    h3.Range("A2") = h3.Range("A2") & " " & usu
    Do While h1.Cells(i, "D") <> ""
        If h1.Cells(i, "A") <> "" Then
            usu = h1.Cells(i, "A")
        End If
        If ant <> usu Then
            'guarda hoja
            carpeta = "Informe UL" & ant
            If Dir(ruta & carpeta, vbDirectory) = "" Then
                MkDir ruta & carpeta
            End If
            h3.Copy
            ActiveWorkbook.SaveAs ruta & carpeta & "\" & "Informe UL" & ant
            ActiveWorkbook.Close
            'nuevo informe
            h3.Cells.Clear
            h2.Cells.Copy h3.[A1]
            h3.Range("A2") = h3.Range("A2") & " " & usu
        End If
        h3.Rows(8).Insert
        h3.Cells(8, "A") = h1.Cells(i, "D")
        If h1.Cells(i, "C") <> "" Then
            fec = h1.Cells(i, "C")
        End If
        h3.Cells(8, "B") = fec
        '
        If h1.Cells(i, "A") <> "" Then
            ant = h1.Cells(i, "A")
        End If
        i = i + 1
    Loop
    MsgBox "Proceso terminado"
End Sub

.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

.

Avísame cualquier duda

.

¡Gracias! Miramos lo del calendario?

en el informe debe aparecer también  cada día de la semana hasta el viernes.es decir; hago 1 informe de la primera semana del mes correspondiente,luego hago otro de la segunda semana y así sucesivamente.

En el informe que te envié por correo hace días,despues del texto "a continuación se presenta un resumen diario del mes X",van los días de la semana que corresponde.ya sea la primera semana,segunda etc,así;

1-04;el usuario ha hecho las incidencias X11,x2

2-04;el usuario ha hecho las incidencias z1,z2

3-04;

4-04;

5-04;

saludos

Sí, con gusto vemos lo del calendario, valora esta respuesta y crea una nueva.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas