Ir para conteúdo
Fórum Script Brasil
  • 0

Método Set dando erro


lucasavilez

Pergunta

Olá amigos, preciso de uma ajuda de vocês!

 

Eu tenho um banco de dados (tabela básica que inputa entrada de uma outra tabela de cadastro) criado em uma planilha do excel. Em uma outra aba, através de uma lista de validador de dados, a pessoa escolhe um valor e o vba consulta no banco de dados aquele cadastro e informa ao usuário.

 

Problema:

Na parte da consulta parece estar funcional porém, tem uma linha que ora funciona ora não (sem fazer nenhum tipo de alteração, parece coisa de gnomos loucos.)

 

Alguém tem uma luz do porque dá erro? E porque dá erro só as vezes? 

Public Sub Consulta()
    Dim n, sNulos As Integer, rng2 As Range
    
    
       
       Application.ScreenUpdating = False
        n = KeyCells.Value
        Worksheets("BD_ToDo").Select
        ActiveSheet.ListObjects("bd_todo_tabela").Range.AutoFilter Field:=1, _
        Criteria1:=n
        
            'Verificar se está vazio
                    Set rng2 = ActiveSheet.AutoFilter.Range  (########### ESTA LINHA QUE DÁ ERRO AS VEZES ##########)
    
                    sNulos = rng2.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1
                    If sNulos = 0 Then
                   
                    
                    MsgBox "Nenhuma atividade encontrada"
                    
                     'KeyCells.Value = ""
                    Worksheets("BD_ToDo").ListObjects("bd_todo_tabela").Range.AutoFilter Field:=1
                                
                Else
                'MsgBox "Teste"
        ActiveSheet.AutoFilter.Range.Offset(1, 1).Copy
        'Range("bd_todo_tabela").Select
        'Selection.SpecialCells(xlCellTypeVisible).Select
        'Selection.Copy
    
   Worksheets("ToDo").Select
    Range("TODO_ENTRADA3").Offset(0, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
  
     End If
    Worksheets("BD_ToDo").ListObjects("bd_todo_tabela").Range.AutoFilter Field:=1
    Worksheets("ToDo").Select
    Range("K5").Select
   
Application.ScreenUpdating = True
     
End Sub

 

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...