Macro para buscar d...
 
Notifications
Clear all

Macro para buscar dados em planilha Excel.

2 Posts
2 Usuários
0 Reactions
1,396 Visualizações
(@freitasag)
Posts: 32
Eminent Member
Topic starter
 

Bom dia Amigos,
Estou com a Macro abaixo,porém ela está buscando o relatório por data dentro de um BD em Access,poderiam me ajudar,preciso buscar o relatório dentro de uma planilha que esta na aba do arquivo que estou criando a macro.

Sub Gera_REL_DATA()

Application.ScreenUpdating = False


Dim DATA_INI, DATA_FIM As Date

    DATA_INI = Format(Plan2.Range("B11").Value, "MM/DD/YYYY")
    DATA_FIM = Format(Plan2.Range("B13").Value, "MM/DD/YYYY")

    If IsDate(DATA_INI) And IsDate(DATA_FIM) Then
    
    Sheets.Add(After:=Sheets(Sheets.Count)).Name = "Aprop_por_Datas"

     
     'Armazena na variável o comando que fará a consulta SQL no BD Access
     SU_ConectaBD
     SQL = ""
     SQL = SQL & "SELECT Tbl_Dados_Importados_TS.Col_enc, TbL_Enc_234.Descrição, Tbl_Dados_Importados_TS.Col_CF, Tbl_Dados_Importados_TS.Col_OS, Tbl_OS_Local_Servico_Responsavel.Descricao_OS, Tbl_Dados_Importados_TS.Col_Interf, Tbl_Interferencias.Descricao, Tbl_Dados_Importados_TS.Col_Data, Tbl_Dados_Importados_TS.Col_Hora, Tbl_Dados_Importados_TS.Col_Hora1, Tbl_Dados_Importados_TS.Col_Prod, Tbl_OS_Local_Servico_Responsavel.PEP_Sumariza_OS, IIf([JORNADA_TEORICA]=9,IIf([HHT]>5,[HHT]-1,[HHT]),IIf([JORNADA_TEORICA]=8,IIf([HHT]>=4.5,[HHT]-1,[HHT]),IIf([HHT]>=4.5,[HHT]-1,[HHT]))) AS HHT_S_ALMOCO, IIf(Round([Tbl_Dados_Importados_TS]![Col_Hora1]*24-[Tbl_Dados_Importados_TS]![Col_Hora]*24,3)<0,Round([Tbl_Dados_Importados_TS]![Col_Hora1]*24-[Tbl_Dados_Importados_TS]![Col_Hora]*24,3)+24,Round([Tbl_Dados_Importados_TS]![Col_Hora1]*24-[Tbl_Dados_Importados_TS]![Col_Hora]*24,3)) AS HHT"
     SQL = SQL & " FROM (((Tbl_Dados_Importados_TS LEFT JOIN Tbl_OS_Local_Servico_Responsavel ON Tbl_Dados_Importados_TS.Col_OS = Tbl_OS_Local_Servico_Responsavel.OS) LEFT JOIN TbL_Enc_234 ON Tbl_Dados_Importados_TS.Col_enc = TbL_Enc_234.CF_Enc) LEFT JOIN Tbl_Compoe_Semana ON Tbl_Dados_Importados_TS.Col_Data = Tbl_Compoe_Semana.NUM_DATA) LEFT JOIN Tbl_Interferencias ON Tbl_Dados_Importados_TS.Col_Interf = Tbl_Interferencias.Código"
     SQL = SQL & " WHERE (((Tbl_Dados_Importados_TS.Col_Data)>=#" & DATA_INI & "# And (Tbl_Dados_Importados_TS.Col_Data)<=#" & DATA_FIM & "#))"
     SQL = SQL & " ORDER BY Tbl_Dados_Importados_TS.Col_Data, Tbl_Dados_Importados_TS.Col_Hora;"
             
        Set rs = New ADODB.Recordset
        rs.Open SQL, mConn
        Range("A2").CopyFromRecordset rs
        SU_DesconectaBD
        
        Columns("I:J").Select
        Selection.NumberFormat = "[$-F400]h:mm:ss AM/PM"
        
        Columns("K:K").Select
        Selection.NumberFormat = "#,##0.00"

        Columns("M:M").Select
        Selection.NumberFormat = "#,##0.00"
        Columns("N:N").Select
        
        Selection.Delete Shift:=xlToLeft
        Range("A1").Select
        
        Call FORMATA
        
    Else
      MsgBox "ERRO DATA", vbCritical
      Plan2.Select
      
    End If
    
Application.ScreenUpdating = True

End Sub
 
Postado : 29/08/2018 7:17 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

freitasag,

Boa tarde!

Anexe seu arquivo aqui no fórum.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 29/08/2018 9:11 am