• DİKKAT

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

bir sütundaki veriyi diğer sütunda aramak (kod ile): ÇÖZÜM BULUNDU

Katılım
14 Ocak 2011
Mesajlar
28
Excel Vers. ve Dili
2003 TR
Arkadaşlar,

benim iki uzun listem var. biri A sütununda diğeri B sütununda

istiyorum ki excel A sütununun her hücresindeki veryi B hücresinde arasın ve C sütundaki karşılığına "var" veya "yok" yazsın.

bunu resimdeki gibi formül ile yapabiliyorum.
=EĞER(EĞERSAY(B:B;A1);"var";"yok")

ama listelerim çok uzun olduğundan bilgisayarım çok zorlanıyor. ayrıca LİSTE DEĞİŞKEN OLDUĞUNDAN İKİDE BİR YENİDEN HESAPLIYOR. hesaplamaya başlayınca bilgisayar kilitleniyor.

bunu vba kodu ile yaparsam bilgisayarı biraz rahatlatırım diye düşündüm hem bir butonu olur ben tıkladığımda hesaplamaya başlar dedim ama kodunu yazamadım.

örnek dosya ekliyorum.

Herkese teşekkür ediyorum.
 

Ekli dosyalar

  • adsız.JPG
    adsız.JPG
    37.4 KB · Görüntüleme: 1
  • ornek.xls
    ornek.xls
    25 KB · Görüntüleme: 5
Son düzenleme:
Merhaba,

Bu şekilde deneyin.

Kod:
Sub Var_Yok()
 
    Dim i As Long, c As Range
 
    Application.ScreenUpdating = False
    [C:C].ClearContents
 
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        Set c = [B:B].Find(Cells(i, "A"))
        If Not c Is Nothing Then
            Cells(i, "C") = "Var"
        Else
            Cells(i, "C") = "Yok"
        End If
    Next i
 
End Sub

.
 
maalesef çözüldü eklemiştim başlığa ama erken atladığımdan oldu kusura bakmayın

sorun şu ki hücreyi birebir eşleştirmiyor.

yani

diyelim ki elma maddesini arıyor. listede elma yok ama elmacı varsa bunu da arama sonucuna var yazıyor.
 
tamamdır çözdüm sorunumu


find. komutuna , LookAt:=xlWhole ekledim oldu bitti.

aha da kodun yeni hali:


Sub Var_Yok()

Dim i As Long, c As Range

Application.ScreenUpdating = False
[C:C].ClearContents

For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
Set c = [B:B].Find(Cells(i, "A"), LookAt:=xlWhole)
If Not c Is Nothing Then
Cells(i, "C") = "Var"
Else
Cells(i, "C") = "Yok"
End If
Next i

End Sub


yine de Ömer Bey'e teşekkürler.
 
Geri
Üst