Erkan Akayay
Altın Üye
- Katılım
- 8 Aralık 2006
- Mesajlar
- 405
- Excel Vers. ve Dili
- Ofis 365 TR 64 Bit
- Altın Üyelik Bitiş Tarihi
- 21-11-2028
Korhan Bey'in uyardığı hata. On Error Resume Next satırını kaldırınca ActiveSheet.ShowAllData satırında patladı.Sonradan farkettim..
Önceki mesajimda On Error Resume Next komutunu silip deneme yapınız demiştim.
Kodların içinde "ActiveSheet.ShowAllData" komutu var. Bu satır eğer sayfada filtre yoksa On Error Resume Next satırını sildiğinizde hata verecektir. Bu sebeple kodlara farklı bir sorgu eklemek gerekir.
Dosyanızı paylaşınız hem gerekli düzenlemeyi yapalım hem de deneme yapalım.
Kodu şu şekilde deneyin.
C++:
Private Sub TextBox1_Change()
'On Error Resume Next
Application.ScreenUpdating = False
'--------------------------------
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
'--------------------------------
Son = Cells(Rows.Count, 2).End(3).Row
Say = 1
Liste = Range("B4:B" & Son).Value
ReDim Kriter(1 To 1)
Kriter(Say) = ""
For X = 1 To UBound(Liste)
If UCase(Replace(Replace(Liste(X, 1), "ı", "I"), "i", "İ")) Like "*" & _
UCase(Replace(Replace(TextBox1, "ı", "I"), "i", "İ")) & "*" Then
Say = Say + 1
ReDim Preserve Kriter(1 To Say)
Kriter(Say) = CStr(Liste(X, 1))
End If
Next
Range("B2:G" & Son).AutoFilter Field:=1, Criteria1:=Kriter, Operator:=xlFilterValues
If TextBox1 = Empty Then
Range("B2:G" & Son).AutoFilter Field:=1
End If
Set bul = Nothing
Application.ScreenUpdating = True
End Sub