Amigos,
Alguém me diga pelo amor dos meus filhinhos porque está dando o erro "ERRO DE COMPILAÇÃO: MÉTODO OU MEMBROS DE DADOS NÃO ENCONTRADO", na formula abaixo. Já olhei tanto pra essa formula e não consigo detectar esse erro. Ficaria grato se alguém me socorrer.
Private Const NomePlanilha As String = "BancodeDados"
Private Const LinhaCabecalho As Integer = 7
Private Sub Filtro_Change()
    If Me.Campos.ListIndex <> -1 Then
        Call PreencheLista(Filtro.Text)
    End If
End Sub
Private Sub UserForm_Initialize()
    Call PreencheCampos
End Sub
Private Sub PreencheCampos()
    Dim ws As Worksheet
    Dim coluna As Integer
    Dim linha As Integer
    Set ws = ThisWorkbook.Worksheets(NomePlanilha)
    coluna = 2
    linha = LinhaCabecalho
    With ws
        While .Cells(linha, coluna).Value <> Empty
            Me.Campos.AddItem .Cells(linha, coluna)
            coluna = coluna + 1
        Wend
    End With
End Sub
Private Sub PreencheCabecalho(ByRef Lista())
    Dim ws As Worksheet
    Dim coluna As Integer
    Dim linha As Integer
    Set ws = ThisWorkbook.Worksheets(NomePlanilha)
    coluna = 2
    linha = LinhaCabecalho
    With ws
        While .Cells(linha, coluna).Value <> Empty
            Lista(coluna - 1, 0) = .Cells(linha, coluna)
            coluna = coluna + 1
        Wend
    End With
End Sub
Private Sub PreencheLista(ByVal TextoDigitado As String)
    Dim ws As Worksheet
    Dim i As Integer
    Dim x As Integer
    Dim indiceLista As Integer
    Dim coluna As Integer
    Dim TextoCelula As String
    Set ws = ThisWorkbook.Worksheets(NomePlanilha)
    Dim Lista()
    ReDim Lista(ws.UsedRange.Columns.Count, 0)
    i = LinhaCabecalho + 1
    indiceLista = 1
    coluna = Me.Campos.ListIndex + 1
    Call PreencheCabecalho(Lista)
    lstLista.Clear
    With ws
        While .Cells(i, coluna).Value <> Empty
            TextoCelula = .Cells(i, coluna).Value
            If UCase(Left(TextoCelula, Len(TextoDigitado))) = UCase(TextoDigitado) Then
                For x = 0 To ws.UsedRange.Columns.Count - 1
                    ReDim Preserve Lista(ws.UsedRange.Columns.Count, indiceLista)
                    Lista(x, indiceLista) = .Cells(i, x + 1)
                Next
                indiceLista = indiceLista + 1
            End If
            i = i + 1
        Wend
    End With
   
    Lista = Array2DTranspose(Lista)
    Me.lstLista.List = Lista
End Sub
Function Array2DTranspose(avValues As Variant) As Variant
    Dim lThisCol As Long, lThisRow As Long
    Dim lUb2 As Long, lLb2 As Long
    Dim lUb1 As Long, lLb1 As Long
    Dim avTransposed As Variant
    If IsArray(avValues) Then
        On Error GoTo ErrFailed
        lUb2 = UBound(avValues, 2)
        lLb2 = LBound(avValues, 2)
        lUb1 = UBound(avValues, 1)
        lLb1 = LBound(avValues, 1)
        ReDim avTransposed(lLb2 To lUb2, lLb1 To lUb1)
        For lThisCol = lLb1 To lUb1
            For lThisRow = lLb2 To lUb2
                avTransposed(lThisRow, lThisCol) = avValues(lThisCol, lThisRow)
            Next
        Next
    End If
    Array2DTranspose = avTransposed
    Exit Function
ErrFailed:
    Debug.Print Err.Description
    Debug.Assert False
    Array2DTranspose = Empty
    Exit Function
    Resume
End Function
                                                                                                	                                                
	                                         
                    
                    	
                            Postado : 19/03/2018 12:50 pm