Public Sub rep_Alarmas()
On Error Resume Next
  Dim area As String
    
    Inicio_Consulta
     
Set Consulta = New ADODB.Recordset
    Consulta.Open Comando, Conexion
If Not Consulta.EOF Then
 filename = rsTocsv(Consulta, "C:\Reportes_Generales\Historico_Alarmas_" & VBA.Format(Now, "ddmmyy hhmmss") & ".xlsx", True)
    
 Barras "Recolectando Registros de Alarmas...", 30 * 3.46
'Abrir plantilla de excel
On Error GoTo Error_NoExiste 'Mandar Mensaje de Error de que no existe Archivo
     Set Excelapp = CreateObject("Excel.Application") 'loads and instance of Excel in memory
     Excelapp.Workbooks.Open (filename) 'Abrir"
 
'--------Llenar tabla de excel con los datos encontrados
DoEvents
 Barras "Exportando Datos a Archivo de Excel...", 60 * 3.46
    With Excelapp
 
'--------------------Mover los datos a la columna requerida
     .Worksheets(1).Range("D1").Select
     .Worksheets(1).Range(.Selection, .Selection.End(xlDown)).Cut
     .Worksheets(1).Range("G2").Select
     .ActiveSheet.Paste
     .Worksheets(1).Range("C1").Select
     .Worksheets(1).Range(.Selection, .Selection.End(xlDown)).Cut
     .Worksheets(1).Range("E2").Select
     .ActiveSheet.Paste
     .Worksheets(1).Range("B1").Select
     .Worksheets(1).Range(.Selection, .Selection.End(xlDown)).Cut
     .Worksheets(1).Range("C2").Select
     .ActiveSheet.Paste
     .Worksheets(1).Range("A1").Select
     .Worksheets(1).Range(.Selection, .Selection.End(xlDown)).Cut
     .Worksheets(1).Range("A2").Select
     .ActiveSheet.Paste
 
'--------------------dar formato a las columnas
    .Worksheets(1).Columns("A:A").ColumnWidth = 12.86
    .Worksheets(1).Columns("C:C").ColumnWidth = 24.14
    .Worksheets(1).Columns("E:E").ColumnWidth = 78.29
    .Worksheets(1).Columns("G:G").ColumnWidth = 33.71
    .Worksheets(1).Columns("B:B").ColumnWidth = 1
    .Worksheets(1).Columns("D:D").ColumnWidth = 1
    .Worksheets(1).Columns("F:F").ColumnWidth = 1
    .Worksheets(1).Rows("1:1").RowHeight = 52.5
    .Worksheets(1).Range("A:A").HorizontalAlignment = xlRight
    .Worksheets(1).Range("B2:C2").Merge
    .Worksheets(1).Range("D2:E2").Merge
    .Worksheets(1).Range("F2:G2").Merge
    .Worksheets(1).Range("A2:F2").Select
    With .Selection
        .Borders(xlEdgeLeft).LineStyle = xlContinuous
        .Borders(xlEdgeLeft).Weight = xlMedium
        .Borders(xlEdgeTop).LineStyle = xlContinuous
        .Borders(xlEdgeTop).Weight = xlMedium
        .Borders(xlEdgeBottom).LineStyle = xlContinuous
        .Borders(xlEdgeBottom).Weight = xlMedium
        .Borders(xlEdgeRight).LineStyle = xlContinuous
        .Borders(xlEdgeRight).Weight = xlMedium
        .Borders(xlInsideVertical).LineStyle = xlContinuous
        .Borders(xlInsideVertical).Weight = xlThin
        .HorizontalAlignment = xlCenter
        .Font.Bold = True
    End With
    .Worksheets(1).Range("E1:E1").HorizontalAlignment = xlRight
    .Worksheets(1).Range("G1:G1").HorizontalAlignment = xlLeft
 
'--------------------Escribir fecha del Reporte
    .Worksheets(1).Range("E1").Value = "Fecha: "
    .Worksheets(1).Range("F1").Value = VBA.Format(ThisDisplay.datestart, "DD/MM/YYYY")
 
'--------------------Ponemos logo del cliente
    .Worksheets(1).Range("A1").Select
    .ActiveSheet.Pictures.Insert("Ruta").Select
   End With
   DoEvents
 
' Barras "Exportando Datos a Archivo de Excel...", (renglon * (35 / totallineas)) * 3.46 + (60 * 3.46), renglon * (35 / totallineas) + 60
 Barras "Exportando Datos a Archivo de Excel...", (80 * 3.46)
        
           Else
            MsgBox "No se encontraron datos en la busqueda...", vbInformation, "No hay datos"
            Objetos True
           GoTo Salir
           End If
 Cerrar_conexionSQL
guardar:
        DoEvents
 Barras "Exportando Datos a Archivo de Excel...", 100 * 3.46
          Excelapp.ActiveWorkbook.Save
        Excelapp.Quit
       Set Excelapp = Nothing
          MsgBox "El Reporte Fue Creado con  Exito en:" & VBA.Chr(13) & _
           filename, vbInformation, " Status del Reporte"
     Objetos True
 ThisDisplay.crearRep.Visible = True
    Exit Sub
Salir:
 Cerrar_conexionSQL
 Objetos True
 ThisDisplay.crearRep.Visible = True
    Exit Sub
 
'Errores al obtener tags
Error_NoExiste:
    MsgBox "Error en Archivo." & VBA.Chr(13) & _
           "Verifique que la siguiente ruta existe: Ruta" & VBA.Chr(13) & VBA.Err.Description, VBA.vbCritical, "Error en Ruta de Archivo..."
           GoTo Salir
  Exit Sub
 
'Errores Durante la Creacion del Reporte
Error_BaseDatos:
    MsgBox "Error con Base de Datos" & VBA.Chr(13) & _
           "Error de Sistema: " & VBA.Chr(13) & VBA.Err.Description, VBA.vbCritical, "Error Conexion con Base de Datos"
           GoTo Salir
 
End Sub