• DİKKAT

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

.Range.AutoFilter ile elde edilen kayıt sayısı

  • Konbuyu başlatan Konbuyu başlatan hsayar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
aşağıdaki kodlar ile filtreleme yapıp boş kolanlara döngüdeki değeri yazdırıyırum.
Ancak filtre sonucunda kayıt yoksa makro duruyır ve benden cevap bekliyor.

filtreleme yapınca excel sayfasının sol alt köşesinde X kaydın Y tanesi bulundu diye çıkan nottaki Y miktarını kod ile öğrenip kırmızı yere vba dili ile nasıl yazarız.


Kod:
Sub ilcekoduyaz()
'
' Makro1 Makro
'
Dim sfILCEKOD As Excel.Worksheet
Dim sfKISILER As Excel.Worksheet

Set sfILCEKOD = ThisWorkbook.Worksheets("TRSO_ILCKOD")
Set sfKISILER = ThisWorkbook.Worksheets("tbLSAHIS")

'
ZAMANBAS = Now()
  
  For i = 6 To 100
     With sfKISILER
        .ListObjects("Tablo_vtKISIGIRIS").Range.AutoFilter Field:=12, Criteria1:="="
        .ListObjects("Tablo_vtKISIGIRIS").Range.AutoFilter Field:=13, Criteria1:=sfILCEKOD.Cells(i, 4).Text
        .ListObjects("Tablo_vtKISIGIRIS").Range.AutoFilter Field:=14, Criteria1:=sfILCEKOD.Cells(i, 2).Text
[COLOR=Red]'filtrelenenen kayıt sayısı 1 veya büyük ise devam et değilse prosodürden çıık(exit sub)[/COLOR]
        .Columns("L:L").Select
     End With
     Selection.Replace What:="", Replacement:=sfILCEKOD.Cells(i, 1).Text, LookAt:=xlWhole, _
                                  SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
                                  ReplaceFormat:=False
  Next i

ZAMANBTS = Now()
MsgBox "Süre: " & Format((ZAMANBTS - ZAMANBAS), "hh:mm:ss.dd")

son:

End Sub
 
Geri
Üst