Döngü şartları

Katılım
9 Aralık 2008
Mesajlar
6
Excel Vers. ve Dili
2007 Türkçe
Set dt = Worksheets("DATA")
sat = WorksheetFunction.CountA(dt.Range("B:B"))
If aratext = Empty Or Len(aratext) < 3 Then Exit Sub
aralist.Visible = True
aralist.Clear
aralist.ColumnCount = 3
aralist.ColumnWidths = "30;100;100"

s = 0: strt = 0
Set c = dt.Range("B:z").Find(aratext, LookIn:=xlValues)
'MsgBox c
If Not c Is Nothing Then
ilk = c.Row
aralist.AddItem dt.Cells(c.Row, "A")
aralist.List(s, 1) = dt.Cells(c.Row, "B")
aralist.List(s, 2) = dt.Cells(c.Row, "C")
aralist.List(s, 3) = c.Row
s = s + 1: strt = 1
Do
c.Value = c
Set c = dt.Range("A:z").FindNext(c)
aralist.AddItem dt.Cells(c.Row, "A")
aralist.List(s, 1) = dt.Cells(c.Row, "B")
aralist.List(s, 2) = dt.Cells(c.Row, "C")
aralist.List(s, 3) = c.Row
s = s + 1
Loop While Not c Is Nothing And c.Row <> ilk
End If
If aralist.ListCount > 1 And strt = 1 Then aralist.RemoveItem (s - 1)
aralist.ListIndex = aralist.ListCount - 1


Merhaba
yukarıdaki gibi bir kod yazdım. userform, excel içinde arama özelliği içeriyor. döngü şartını "c" değişkeninin satır numarasına göre koymuştum ancak aranan kelimenin aynı satırda iki tane olması işi bozuyor. ya kalın harflerle yazılı kısmı yani döngünün şartını değiştirmem lazım ya da "ilk" değişkenini satır yerine hücre olarak vermem lazım. aslında c değişkeninin adresini nasıl yazacağımı bulamadım bir türlü. "c.row" değil de c.???? ne yazarsam satırı değil de hücreyi işaret etmiş olurum???

Teşekkürler
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
C.value bulunan hücredeki değer olur.
 
Üst