• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

ListView'e Koşula Göre Veri Alırken Bul Değişkeni Nothing Oluyor

Katılım
26 Mayıs 2005
Mesajlar
609
Excel Vers. ve Dili
Office 2022 - Türkçe
Arkadaşlar herkese merhaba. Eklediğim örnek dosyada, Forumda daha öncede bu çalışmamla ilgili yardım almıştım. Sayın Ferhat beye tekrar teşekkür ederim. Bul botonuna bastığım zaman döngü 1 kere normal çalışıyor sonra bul değişkeni kendini Nothing ediyor ve döngü hata veriyor. Burda yapmak istediğim bul dediğimde firma tanıtım sayfasından veri alarak ListView'e yazmak ama bi türlü beceremedim nerde hata yaptığımı anlamadım.
 
Arkadaşlar kırmızı renkli satırda döngü 2.ci sefer döndüğünde Bul.Row Nothing oluyor ve hata veriyor yardımcı olabilirmisiniz


Kod:
Select Case TextBox1.Value
       Case "Siparis_Tnt"
        If Not Bul Is Nothing Then
                Adres = Bul.Address
             Do
                sat = Bul.Row
                With ListView1
                   .ListItems.Add , , sh.Cells(sat, 1)
                    X = X + 1
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 2)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 3)
                   .ListItems(X).ListSubItems.Add , , sh.Cells(sat, 14)
                   F = Sheets("Firma_Tnt").Range("B:B").Cells.Find(What:=sh.Cells(sat, 14), LookIn:=xlValues).Row
                   .ListItems(X).ListSubItems.Add , , Sheets("Firma_Tnt").Cells(F, 3)
                End With
                Set Bul = Rng.FindNext(Bul)
             [COLOR="Red"]Loop While Not Bul Is Nothing And Bul.Address <> Adres[/COLOR]
        End If
Set sh = Nothing
Set Rng = Nothing
Set Bul = Nothing
End Select
 
arkada&#351;lar aceleci davran&#305;yorum kusura bakmay&#305;n. d&#252;nden beri u&#287;ar&#351;&#305;yorum ama bi sonuca varamad&#305;m rica etsem yard&#305;mc&#305; olabilirmisiniz
 
Arkada&#351;lar herkese iyi haftalar. Kodlarda nerde hata yapt&#305;&#287;&#305;m&#305; halen bulamad&#305;m &#231;al&#305;&#351;mamda kalan eksiklerden biri bu ama benim i&#231;in baya &#246;nem te&#351;kil eden yerlerden biri rica etsem yard&#305;mc&#305; olabilirmisiniz.
 
Buna benzer sorun yaşamıştım..

Bu satırı,
Kod:
[COLOR=Red]Loop While Not Bul Is Nothing And Bul.Address <> Adres[/COLOR]
bununla değiştirin. İşe yaramıştı. :)

Kod:
[COLOR=Red]Loop While Not [/COLOR][COLOR=Red]Bul.Address <> Adres And [/COLOR][COLOR=Red]Bul Is Nothing[/COLOR]
 
Bu hatayı almanınızı nedeni, Do Loop döngüsü içinde, bir arama zinciri (Find ve FindNext) oluşturmuşken, ikinci bir arama yapmanızdan kaynaklanıyor (kodlarınızda F adlı değişkene değer atamasında olduğu gibi) ...

Açıkçası, anlamsız bir hata ve benim de başıma çok geldi ...

Şöyle çözüme ulaşabilirsiniz:

Do-Loop döngüsü içinde, halihazırda, FindNext metodu ile (sonra gelen) Bul nesnesini bulan hatalı satırı aşağıdaki gibi değiştirin.

Yani

Kod:
Set Bul = Rng.FindNext(Bul)

yerine, aşağıdaki satırı koyun.

Kod:
Set bul = Rng.Find(What:=bul.Value, After:=bul)

Teorik olarak bu satır da aynı işlemi yapar. Bulunan hücreden sonra başlamak üzere, yeni bir arama başlatır ve yeni bir değişken set eder. Böylelikle, Loop'a gelindiğinde, değişken gerçekten Nothing'se, döngüden çıkılır.
 
Say&#305;n Ferhat Bey ve Zeki Bey yard&#305;mlar&#305;n&#305;z i&#231;in te&#351;&#351;ekk&#252;r ederim &#351;imdi tam istedi&#287;im gibi &#231;al&#305;&#351;&#305;yor
 
Geri
Üst