erro ao executar vba no excel executando um select filtrando campo data

VALDEMIR J SANCHES 0 Pontos de reputação
2024-07-03T01:18:58.03+00:00

Bom dia, estou com um problema ao executar um vba no excel, dando um select em uma planilha, filtrando pelo campo data, se eu faço o select filtrando outro campo ou mesmo sem o filtro, o select roda sem nenhum problema, abaixo o codigo, e o erro que é apresentado quando chega na ultima linha

User's image

Dim conn    As ADODB.Connection
Dim rs      As ADODB.Recordset
Dim strCon  As String
Dim strSQL  As String
Dim i       As Integer
Dim DataInicial As Variant
Dim DataFinal   As Variant
Dim ValorTotal  As Currency

'Consultar dados no arquivo atual
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ActiveWorkbook.Path & "\" & ActiveWorkbook.Name & ";Extended Properties='Excel 12.0 Xml;HDR=YES';"

'Definir a consulta SQL
strSQL = "SELECT [ID_EMPRESA], [NOME_EMPRESA], [DATA_EMISSAO] FROM [Dados$] WHERE [DATA_EMISSAO] BETWEEN #07/01/2023# AND #07/02/2024#"

'Abrir a conexão com o arquivo Excel
Set conn = New ADODB.Connection
conn.Open strCon
Office
Office
Um conjunto de softwares de produtividade da Microsoft que dá suporte a tarefas de negócios comuns, como processamento de texto, emails, apresentações e gerenciamento e análise de dados.
79 perguntas
0 comentários Sem comentários
{count} votos

7 respostas

Classificar por: Mais útil
  1. Jonathan Eduardo Pereira Castillo 1.950 Pontos de reputação Fornecedor da Microsoft
    2024-07-03T16:30:03.74+00:00

    Oi VALDEMIR J SANCHES!

    Bem-vindo ao Microsoft Q&A!

    Claro! Vou ajudar com o seu problema relacionado ao VBA no Excel. O erro que você está enfrentando ocorre na última linha do seu código, certo? Vamos analisar o que pode estar acontecendo.

    O erro “Item cannot be found in the collection corresponding to the requested name or ordinal” geralmente está relacionado a problemas com a consulta SQL ou com a conexão com o arquivo Excel. Vamos verificar algumas possíveis soluções:

    Formato da Data: Certifique-se de que o formato da data na sua planilha está correto. O VBA espera que as datas estejam no formato americano (mês/dia/ano). Verifique se as datas na coluna [DATA_EMISSAO] estão nesse formato.

    Delimitadores de Data na Consulta SQL: Na sua consulta SQL, você está usando BETWEEN #07/01/2023# AND #07/02/2024# para filtrar as datas. Certifique-se de que os delimitadores de data (#) estão corretos e que as datas estão dentro do intervalo especificado.

    Verificação da Planilha e Nome da Tabela: Verifique se a planilha onde você está executando a consulta se chama “Dados” e se a tabela dentro dela tem o nome correto (pode ser “Dados$” ou outro nome). Caso contrário, ajuste o nome da tabela na sua consulta.

    Verificação da Conexão com o Arquivo Excel: Verifique se a conexão com o arquivo Excel está sendo aberta corretamente. Certifique-se de que o caminho do arquivo e o nome do arquivo estão corretos.

    Aqui estão algumas referências úteis para você investigar mais detalhadamente:

    Espero que essas dicas ajudem a resolver o problema! Se precisar de mais assistência, estou à disposição.

    Saudações

    Jonathan.

    -----------

    Se a resposta for a solução correta, clique em "Aceitar resposta" e vote educadamente nela. Se você tiver perguntas adicionais sobre essa resposta, clique em "Comentar". Nota: Siga as etapas em nossa documentação para habilitar notificações por e-mail se você gostaria de receber notificações por e-mail relacionadas a este tópico.

    0 comentários Sem comentários

  2. VALDEMIR J SANCHES 0 Pontos de reputação
    2024-07-15T17:12:16.69+00:00

    Bom dia

    Ainda não consegui resolver

    Acredito que não tenha problemas no codigo VBA, pois se eu utilizar um arquivo com a extenção XLSX, a macro roda sem nenhum problema, e funciona

    Mas ao salvar o arquivo, ele perde o conteudo da macro, e da um aviso que é necessário salvar o arquivo como XLSM, e ao fazer isso, realmente o codigo da macro não é perdido, mas ao executar aparece o erro.

    Como ele acessa uma planilha para fazer SELECT, eu habilitei o modulo Microsoft ActiveX Data Objects 6.1 Library, em Referências

    Eu tentei anexar os arquivos mas não consegui

    tem como eu anexar de alguma forma para facilitar a verificação deles ?


  3. VALDEMIR J SANCHES 0 Pontos de reputação
    2024-07-16T14:32:24.5233333+00:00

    https://fromsmash.com/exemplo-erros-vba

    links dos arquivos para verificação

    0 comentários Sem comentários

  4. Jonathan Eduardo Pereira Castillo 1.950 Pontos de reputação Fornecedor da Microsoft
    2024-07-16T16:36:02.6366667+00:00

    VALDEMIR J SANCHES, Muito obrigado pela sua comunicação!

    Entendo que você está enfrentando limitações de segurança ao compartilhar o link https://fromsmash.com/exemplo-erros-vba. Infelizmente, não consigo acessar o link diretamente devido às restrições de segurança.

    No entanto, gostaria de informar que nosso departamento de serviço técnico especializado em Microsoft Office 365 pode ajudá-lo nessa situação. Eles têm ferramentas específicas para transferir informações de maneira segura. Recomendo que você entre em contato com o suporte técnico do Microsoft 365 para obter assistência adequada.Espero que essas dicas e departamento ajudem a resolver o problema!

    Atenciosamente

    Jonathan.

    -----------

    Se a resposta for a solução correta, clique em "Aceitar resposta" e vote educadamente nela. Se você tiver perguntas adicionais sobre esta resposta, clique em "Comentar". Observação: siga as etapas em nossa documentação para ativar as notificações por e-mail se quiser receber notificações por e-mail relacionadas a este tópico.

    0 comentários Sem comentários

  5. Jonathan Eduardo Pereira Castillo 1.950 Pontos de reputação Fornecedor da Microsoft
    2024-07-19T22:10:46.7166667+00:00

    Olá VALDEMIR J SANCHES,

    O objetivo desta mensagem é verificar as informações fornecidas. Se tiver mais atualizações sobre este assunto, por favor, não hesite em responder neste mesmo tópico.

    Cuidadosamente

    Jonathan

    -----------

    Se a resposta for a solução correta, clique em "Aceitar resposta" e vote educadamente nela. Se você tiver perguntas adicionais sobre essa resposta, clique em "Comentar". Nota: Siga as etapas em nossa documentação para habilitar notificações por e-mail se você gostaria de receber notificações por e-mail relacionadas a este tópico.

    0 comentários Sem comentários