Substua por essa:
Private Sub txtPesquisa_Change()
Dim strObjetoBuscar As String
Dim lngResultado As Long
Dim lastRow As Long
'Dim lngColumna As Long, lngFila As Long
Dim a As Integer
Dim coluna
coluna = 2
ListView1.ListItems.Clear
strObjetoBuscar = txtPesquisa
If strObjetoBuscar = "" Then GoTo 99
strObjetoBuscar = LCase(strObjetoBuscar)
lastRow = Plan1.Cells(Rows.Count, 1).End(xlUp).Row
For a = 2 To lastRow
lngResultado = InStr(1, Plan1.Cells(a, coluna), strObjetoBuscar, vbTextCompare)
If lngResultado > 0 Then
Set li = ListView1.ListItems.Add(Text:=Format(Plan1.Range("A" & a).Value, "00"))
li.ListSubItems.Add Text:=Plan1.Range("B" & a).Value
li.ListSubItems.Add Text:=Plan1.Range("C" & a).Value
li.ListSubItems.Add Text:=Plan1.Range("D" & a).Value
End If
Next a
99:
Call SomarItens
End Sub
Acrescente mais linhas, seguindo a mesma lógica, para preencher toda sua lista.
Para esse problema: For a = 2 To 65536 aqui era 2010 aumentei para 65536
Acrescente essa linha:
lastRow = Plan1.Cells(Rows.Count, 1).End(xlUp).Row
e mude para: For a = 2 To lastRow
Será contado até a última linha preenchida.
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 24/01/2012 4:50 pm