Você cometeu um erro de lógica, na 1ª condição do WHERE esta filtrando apenas pelo conteúdo da célula D3 sem filtrar por datas, o BETWEEN esta valendo apenas pra 2ª condição. Deixe assim:
Sql = "Select * From [Dados$]"
Sql = Sql & "Where Fornecedor Like '%" & Range("D3") & "%' "
Sql = Sql & "And Pagamento Between #" & Format(Range("F3"), "mm/dd/yyyy") & "# "
Sql = Sql & "And #" & Format(Range("F4"), "mm/dd/yyyy") & "#"
Sql = Sql & "Or Fornecedor Like '%" & Range("D4") & "%' "
Sql = Sql & "And Pagamento Between #" & Format(Range("F3"), "mm/dd/yyyy") & "# "
Sql = Sql & "And #" & Format(Range("F4"), "mm/dd/yyyy") & "#"
Postado : 30/09/2020 1:30 am