Excel

 avatar
unknown
vbscript
2 years ago
1.6 kB
0
Indexable
Sub GenerarInforme()
    Dim datos As Workbook
    Dim informe As Workbook
    Dim datosHoja As Worksheet
    Dim informeHoja As Worksheet
    Dim fila As Integer
    Dim columna As Integer

    'Abre el archivo de datos y establece la hoja a leer
    Set datos = Workbooks.Open("C:\Ruta\ArchivoDeDatos.xlsx")
    Set datosHoja = datos.Sheets("Hoja1")

    'Crea un nuevo archivo de informe y establece la hoja donde se escribirá el informe
    Set informe = Workbooks.Add
    Set informeHoja = informe.Sheets("Sheet1")

    'Escribe los títulos de las columnas del informe
    informeHoja.Range("A1").Value = "Nombre"
    informeHoja.Range("B1").Value = "Edad"
    informeHoja.Range("C1").Value = "País"

    fila = 2 'empezamos en la fila 2 porque la fila 1 ya tiene los titulos

    'Recorre los datos del archivo y escribe cada fila en el informe
    For filaDatos = 2 To datosHoja.Cells(Rows.Count, 1).End(xlUp).Row
        'Leemos los datos de la fila actual del archivo de datos
        nombre = datosHoja.Cells(filaDatos, 1)
        edad = datosHoja.Cells(filaDatos, 2)
        pais = datosHoja.Cells(filaDatos, 3)

        'Escribe los datos en la fila correspondiente del informe
        informeHoja.Cells(fila, 1) = nombre
        informeHoja.Cells(fila, 2) = edad
        informeHoja.Cells(fila, 3) = pais

        fila = fila + 1 'incrementa el número de fila para escribir el siguiente registro en el informe
    Next filaDatos

    'Guarda el archivo de informe con un nombre y ubicación específicos
    informe.SaveAs "C:\Ruta\Informe.xlsx"

    'Cierra los archivos de Excel
    datos.Close
    informe.Close
End Sub