Şimdiye kadar çalışan makro çalışmıyor.

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
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.
Korhan Bey'in uyardığı hata. On Error Resume Next satırını kaldırınca ActiveSheet.ShowAllData satırında patladı.

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
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Hiç bir değişiklik olmadı hemen çalışmayı durduruyor.
 

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
Son olarak şunu denermisiniz.
C++:
Private Sub TextBox1_Change()
    'On Error Resume Next
    Application.ScreenUpdating = False
        ActiveSheet.AutoFilterMode = False
    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
 

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
On error resume next kaldırınca dediğim satırda hata veriyordu.
Verdiğim 2 kod ile hatası çalıştı.
Şu an aklıma gelen başka bir çözüm yok.
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
On error resume next kaldırınca dediğim satırda hata veriyordu.
Verdiğim 2 kod ile hatası çalıştı.
Şu an aklıma gelen başka bir çözüm yok.
Siz hangi excelde çalıştırdınız 2007 de mi yoksa başka versiyonda mı ?
 
Katılım
20 Şubat 2007
Mesajlar
655
Excel Vers. ve Dili
2007 Excel, Word Tr
Siz hangi excelde çalıştırdınız 2007 de mi yoksa başka versiyonda mı ?
Merhaba,
Bende 2007 de problemsiz çalıştı. Siz kendi kodunuzu tamamen silin bu yapıştırdığımı kullanın. Yine olmazsa verilerinizi yeni bir kitaba kopyalayın. Makro olarak yine bu yapıştırdığımı kullanın.

Kod:
Private Sub TextBox1_Change()
    On Error Resume Next
    Application.ScreenUpdating = False
    ActiveSheet.ShowAllData
    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
 

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
@necati bey, sizin verdiğiniz kodlar @m.gur beyin hata verdiği dediği orjinal kodlar.
Kodlarda bir hata olmasın?
@m.gur Office 365 kullanıyorum. 2007'de deneme şansım yok. Sadece On error resume next satırını kaldırıp kodda hata veren yerin tespitini yapabildim.
 
Katılım
20 Şubat 2007
Mesajlar
655
Excel Vers. ve Dili
2007 Excel, Word Tr
@necati bey, sizin verdiğiniz kodlar @m.gur beyin hata verdiği dediği orjinal kodlar.
Kodlarda bir hata olmasın?
@m.gur Office 365 kullanıyorum. 2007'de deneme şansım yok. Sadece On error resume next satırını kaldırıp kodda hata veren yerin tespitini yapabildim.
Evet aynı kodlar. Sadece eski bir tecrübemden dolayı bunu tavsiye ediyorum. Yeni versiyonlarda oluyor mu bilmiyorum ama eski versiyonlarda sebepsiz yere takılmalar olurdu. Ben de bu şekilde hallettiğim tecrübemi sundum.
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Yeni bir çalışma sayfası açıp verilerimi oraya kopyaladım en son yazdığınız kodları yapıştırdım. Sonuç hiç değişmedi. Sanırım anlayamadığımız başka bir problem var. Son çare 2007 yi kaldırıp üst versiyonlarda devam edeceğim benim için zor olacak ama başka çözüm yok gibi. Emeği geçen herkese teşekkür ederim. Sizleri yordum hakkınızı helal edin. İyi akşamlar.
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Ne yazık ki olmadı yine. Dediğim gibi anlayamadığımız başka bir sorun var.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,241
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bende ofis 365 sürümü var. Bu sürümde dosyanız bende hata vermedi.

Ben size alternatif bir kod sunuyorum. Bu da çalışmazsa bence 2007 sürümü terk etmeyi düşünmenizi tavsiye ederim.

C++:
Private Sub TextBox1_Change()
    Dim Son As Long
    Application.ScreenUpdating = False
    If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
    Son = Cells(Rows.Count, 2).End(3).Row
    ActiveSheet.Range("B2:G" & Son).AutoFilter Field:=1, Criteria1:="=*" & TextBox1 & "*"
    If TextBox1 = Empty Then Range("B2:G" & Son).AutoFilter Field:=1
    Application.ScreenUpdating = True
End Sub
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,798
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhaba
Dosyanızda başka kodlar var mı eğer varsa bunlar çalışıyor mu?
referanslarda bir sıkıntı olabilir.(Missingle) başlayan refaranslar varmı
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Merhaba
Dosyanızda başka kodlar var mı eğer varsa bunlar çalışıyor mu?
referanslarda bir sıkıntı olabilir.(Missingle) başlayan refaranslar varmı
Evet başka kodlar da var fakat onlar çalışıyor.
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Bugün akşama kadar 3 Pc ile uğraştım. Öncelikle 5 yıldır kullanmadığım masaüstü bilgisayara Ofis 2007 kurdum hiç bir hata sorun yaşamadan dosya orada gayet güzel çalıştı. Daha sonra başka bir Laptop ta Ofis 2019 kurulu ve 2007 yi kurdum orada da sorunsuz çalıştı. Hem 2007 de hem 2019 da hatasız. Daha sonra sürekli kullandığım Laptop da gereksiz gördüğüm tüm programları sildim. yüklü ofis 2007 ve 2019 dahil. Yeniden başlatıp Ofis 2007 yi kurdum. Dosyayı açtım büyük umutla textbox a girip tek bir harf yazdım excel hemen çalışmayı durdurdu. Yani ne yaptımsa olmadı. Sonunda bilgisayarda bir sorun var dedim ama hiçbir sorun yok virüs programım var lisanslı. defalarca tarattım herhangi bir olumsuz yok. Şu an ne yapacağımı şaşırdım ya bilgisayarı değiştireceğim 2019 un rahat çalışabilmesi için yada o dosyayı textbox değil de başka bir şekilde yapmaya çalışacağım. Önerilerinizi bekliyorum. Saygılar..
 
Katılım
22 Aralık 2023
Mesajlar
29
Excel Vers. ve Dili
ofis 365
Bugün akşama kadar 3 Pc ile uğraştım. Öncelikle 5 yıldır kullanmadığım masaüstü bilgisayara Ofis 2007 kurdum hiç bir hata sorun yaşamadan dosya orada gayet güzel çalıştı. Daha sonra başka bir Laptop ta Ofis 2019 kurulu ve 2007 yi kurdum orada da sorunsuz çalıştı. Hem 2007 de hem 2019 da hatasız. Daha sonra sürekli kullandığım Laptop da gereksiz gördüğüm tüm programları sildim. yüklü ofis 2007 ve 2019 dahil. Yeniden başlatıp Ofis 2007 yi kurdum. Dosyayı açtım büyük umutla textbox a girip tek bir harf yazdım excel hemen çalışmayı durdurdu. Yani ne yaptımsa olmadı. Sonunda bilgisayarda bir sorun var dedim ama hiçbir sorun yok virüs programım var lisanslı. defalarca tarattım herhangi bir olumsuz yok. Şu an ne yapacağımı şaşırdım ya bilgisayarı değiştireceğim 2019 un rahat çalışabilmesi için yada o dosyayı textbox değil de başka bir şekilde yapmaya çalışacağım. Önerilerinizi bekliyorum. Saygılar..
yeni bir excel çalışma kitabı açıp dosya-aç-gözat-sorunlu kitabınızı seçin-menüdeki aç ve onar'a tıklayın. Böyle denediniz mi hiç ? Kodunuz sorunsuz çalıştıktan sonra hiç yeni kod eklediniz mi ? Özellikle textbox'ın tetiklediği yada textbox'ın faydalandığı bir kod, eğer varsa son eklediğiniz kodu silerek bir deneyin. Birde bilgisayarınızın olay görüntüleyicisinden hata hakkında bilgi alabilirsiniz, ben buna benzer bir sorunla karşılaştığım da dll7 gibi bir hata veriyordu.
 
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Hiç bir şey değişmedi yine çalışmayı durduruyor.. Dosyaya herhangi bir kod eklemesi yapılmadı.
 
Son düzenleme:
Üst