• DİKKAT

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

Match (kaçıncı) fonksiyonunu uygulamak.

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Selam arkadaşlar,
Makrolalı işlemlerde kaçıncı fonksiyonu sürekli hata veriyor.formda kullanılmış bir örneginide hiç görmedim,sorun uygulamadan mı yada sayfadaki fonksiyonlar gibi düşündüğüm(kaçıncı(aranandeğer;dizi;eşleştirtür) gibi yani) içinmi bilemiyorum.

Kod:
Cells(1, "x").Value = WorksheetFunction.Match(Cells(1, "z"), Range("a1:a65000"), 0)

hata kodu:
run-time error "1004";
worksheetfunction sınıfının match özelligi alınamıyor.

yardımcı olacak arkadaşlara şimdiden teşekkürler.
 
Merhaba,

Bulamadığı zaman o hatayı alıyorsunuz.
 
Çok teşekkürler,tam bende hatanın sebebini bulmuştum yanlış sayfada aratıyormuşum. Saygılar.
 
Ben bu yüzden match worksheetfunctionunu kodamalarımda kullanmıyorum.
Onun yerine find komutunu kullanıyorum.
 
Merhaba,

Neden Find komutunu kullanmıyorsunuz?
Aşağıdaki kod D1 hücresini A sütununda arar ve sonucu E1 hücresine yazar.


Kod:
Sub AraBul()
Set Bul = Range("A:A").Find([D1], LookIn:=xlValues)
If Not Bul Is Nothing Then
    Range("E1") = Bul.Row
Else
    Range("E1") = ""
End If
End Sub
 

Ekli dosyalar

  • Ara.xls
    Ara.xls
    32.5 KB · Görüntüleme: 87
Kod:
Sub fdl()
Dim d As Double
Dim bs As Integer
Dim i, h As Long
Dim s1, s2, s3 As Worksheet
Set s1 = Sheets("YEVMİYE")
Set s2 = Sheets("FİRMA KAYIT")
Set s3 = Sheets("RAPORLAMA")
d = WorksheetFunction.Match(s1.Cells(18, "I").Value, s2.Range("c1:c65000"), 0)
son = s1.Range("A65000").End(xlUp).Row
For i = 3 To son
If s1.Cells(i, 3).Value = s1.Cells(18, "I").Value Then
bs = s3.Range("A65000").End(xlUp).Row + 1
For h = 1 To 15
s3.Cells(bs, h).Value = s2.Cells(d, h).Value
Next
s3.Cells(bs, 16).Value = s1.Cells(i, 4).Value
s3.Cells(bs, 17).Value = s1.Cells(i, 7).Value
End If
Next
End Sub

kullandıgım kod buydu s2 sayfasındaki satır numarasını arıyordum.haklısınız find'de olurdu,arasıra kullanıyorum sadece bir kaç denememde hata almıştım ögrenmek adına sorayım dedim. ilginize teşekkürler ,saygılar.
 
Merhaba,

Neden Find komutunu kullanmıyorsunuz?
Aşağıdaki kod D1 hücresini A sütununda arar ve sonucu E1 hücresine yazar.


Kod:
Sub AraBul()
Set Bul = Range("A:A").Find([D1], LookIn:=xlValues)
If Not Bul Is Nothing Then
    Range("E1") = Bul.Row
Else
    Range("E1") = ""
End If
End Sub



Merhaba,

Aşağıdaki kodlarla combobxtaki bir değerin, listenin kaçıncı satırında olduğunu bulmaya çalışıyorum fakat hata veriyor. Atıyorum aranan değer A17'de, bana 17 sonucunu vermesini istiyorum.

Find ile mümkün müdür? Ya da match ile nasıl yapabilirim?

Teşekkürler



Kod:
Set Data = Sheets("Data Entry (Talep Girişi)")
Data.Select
a = ComboBox1.Value
i = Application.WorksheetFunction.Match(a, Range("A1:A10000"), 0)
 

Ekli dosyalar

  • match.JPG
    match.JPG
    19.9 KB · Görüntüleme: 2
Son düzenleme:
Selamlar,
İki alternatifi de ekliyorum:
Kod:
Sub Kacıncı()
Set Data = Sheets("Data Entry (Talep Girişi)")
Data.Select
a = ComboBox1.Value
If WorksheetFunction.CountIf(Range("A1:A10000"), a) > 0 Then
i = WorksheetFunction.Match(a, Range("A1:A10000"), 0)
MsgBox i
End If
End Sub
Kod:
Sub AraBul()
Set Data = Sheets("Data Entry (Talep Girişi)")
Data.Select
a = ComboBox1.Value
Set Bul = Range("A1:A10000").Find(a, LookIn:=xlValues)
If Not Bul Is Nothing Then
    i = Bul.Row
    MsgBox i
End If
End Sub
 
Geri
Üst