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
Pergunta
lucasavilez
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
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.