Excel de İçinde geçen kayıtları farklı hücrede bulmak

Katılım
11 Ocak 2013
Mesajlar
9
Excel Vers. ve Dili
Office 365 TR
Merhabalar bir konuda yardımınıza ihtiyacım var.
1 tablom var ve bu tabloda 2 hücre var
A2 ve C2
A2 Hücresinde 748219 satırda VKA-54-39008EHPAL
C2 Hücresinde 39 satırda 54-39008EHPAL

bu şekilde içinde eşleşen kayıtlar var bunları nasıl bulabilirim?

=EĞER(ESAYIYSA(BUL($C$2;A469088));"Var";"Yok")

bu satırda 1 tane VAR buluyor ama bunun gibi çok var hiçbiri yok.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,789
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
Bu bağlantıda bir örnek var, inceleyiniz.
Ya da buraya, ihtiyacınızla ilgili küçük bir örnek yüklerseniz (ücretsiz dosya.tc ... gibi sitelere de yükleyebilirsiniz) ilgilenen arkadaşımız olacaktır.
İyi çalışmalar
 
Katılım
11 Ocak 2013
Mesajlar
9
Excel Vers. ve Dili
Office 365 TR
Merhaba Arkadaşım,
Bu bağlantıda bir örnek var, inceleyiniz.
Ya da buraya, ihtiyacınızla ilgili küçük bir örnek yüklerseniz (ücretsiz dosya.tc ... gibi sitelere de yükleyebilirsiniz) ilgilenen arkadaşımız olacaktır.
İyi çalışmalar
Teşekkür ederim. Buradaki örnekler benim işimi görmüyor.
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,789
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
Örnek yükleyin, bakalım
iyi çalışmalar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Kullandığınız ofis sürümü ve dili nedir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Rica etsem bu bilgiyi profilinizde yazan WINDOWS ifadesi yerine yazarak güncelleyebilirmisiniz.

Kullandığınız ofis dilinide profilinize eklerseniz daha faydalı olacaktır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aranan veri için sonuç olarak Var-Yok yazması yeterli mi?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bir kod hazırladım aslında. Fakat işlemi tamamlaması 16 dakika civarında sürdü. Bana verimli gelmediği için paylaşmadım.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyip sonucu bildirirseniz sevinirim.

C++:
Option Explicit

Sub Find_Stock_Code_Dictionary()
    Dim Target_Array As Object, Target_List As Variant, X As Long
    Dim Join_Data As Variant, Search_List As Variant, Process_Time As Double
    
    Process_Time = Timer
    
    Set Target_Array = VBA.CreateObject("Scripting.Dictionary")
    
    Range("C:C").ClearContents
    
    Target_List = Range("A2:A" & Cells(Rows.Count, 1).End(3).Row).Value

    For X = LBound(Target_List, 1) To UBound(Target_List, 1)
        Target_Array.Add CStr(Target_List(X, 1)), CStr(Target_List(X, 1))
    Next
    
    Join_Data = Join(Target_Array.Keys, "|")
    
    Search_List = Range("B2:B" & Cells(Rows.Count, 2).End(3).Row).Value

    ReDim My_Result_List(1 To Rows.Count, 1 To 1)

    For X = LBound(Search_List, 1) To UBound(Search_List, 1)
        If Search_List(X, 1) <> "" Then
            If Join_Data Like "*" & Search_List(X, 1) & "*" Then
                My_Result_List(X, 1) = "Var"
            Else
                My_Result_List(X, 1) = "Yok"
            End If
        End If
    Next
    
    Range("C2").Resize(UBound(Search_List, 1)) = My_Result_List
    
    Set Target_Array = Nothing
    
    MsgBox "İşlem süresi ; " & Format(Timer - Process_Time, "0.00") & " Saniye"
End Sub
 
Katılım
11 Ocak 2013
Mesajlar
9
Excel Vers. ve Dili
Office 365 TR
Deneyip sonucu bildirirseniz sevinirim.

C++:
Option Explicit

Sub Find_Stock_Code_Dictionary()
    Dim Target_Array As Object, Target_List As Variant, X As Long
    Dim Join_Data As Variant, Search_List As Variant, Process_Time As Double
  
    Process_Time = Timer
  
    Set Target_Array = VBA.CreateObject("Scripting.Dictionary")
  
    Range("C:C").ClearContents
  
    Target_List = Range("A2:A" & Cells(Rows.Count, 1).End(3).Row).Value

    For X = LBound(Target_List, 1) To UBound(Target_List, 1)
        Target_Array.Add CStr(Target_List(X, 1)), CStr(Target_List(X, 1))
    Next
  
    Join_Data = Join(Target_Array.Keys, "|")
  
    Search_List = Range("B2:B" & Cells(Rows.Count, 2).End(3).Row).Value

    ReDim My_Result_List(1 To Rows.Count, 1 To 1)

    For X = LBound(Search_List, 1) To UBound(Search_List, 1)
        If Search_List(X, 1) <> "" Then
            If Join_Data Like "*" & Search_List(X, 1) & "*" Then
                My_Result_List(X, 1) = "Var"
            Else
                My_Result_List(X, 1) = "Yok"
            End If
        End If
    Next
  
    Range("C2").Resize(UBound(Search_List, 1)) = My_Result_List
  
    Set Target_Array = Nothing
  
    MsgBox "İşlem süresi ; " & Format(Timer - Process_Time, "0.00") & " Saniye"
End Sub
Merhaba, Emeğine , Yüreğine sağlık. Teşekkür ederim. Fakat ben bu sorguyu excel de nasıl kullanabilirim?

Bu sürümü kullanıyorum.
Microsoft® Excel® Microsoft 365 için MSO (Sürüm 2307 Derleme 16.0.16626.20170) 64 bit
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Aşağıdaki adımları izleyiniz.

Dosyanızı açınız.
ALT+F11 tuşlarına basarak kod editörünü açınız.
INSERT menüsünden MODULE seçeneğini seçiniz.
Karşınızda beyaz bir pencere açılması gerekiyor.
Önerdiğim kodu bu pencereye yapıştırınız.
Sonrasında bu pencereyi çarpıya basarak kapatınız.

Dosyanızı farklı kaydet diyerek kayıt ediniz. Bu aşamada dosya türü kutucuğundan "Makro İçerebilen Excel Çalışma Kitabı" şeklindeki seçeneği seçerek işlem yapınız.

Artık ALT+F8 tuşuna basarak kodu çalıştırabilirsiniz.

Linkleride inceleyebilirsiniz.

 
Katılım
11 Ocak 2013
Mesajlar
9
Excel Vers. ve Dili
Office 365 TR
Deneyip sonucu bildirirseniz sevinirim.

C++:
Option Explicit

Sub Find_Stock_Code_Dictionary()
    Dim Target_Array As Object, Target_List As Variant, X As Long
    Dim Join_Data As Variant, Search_List As Variant, Process_Time As Double
   
    Process_Time = Timer
   
    Set Target_Array = VBA.CreateObject("Scripting.Dictionary")
   
    Range("C:C").ClearContents
   
    Target_List = Range("A2:A" & Cells(Rows.Count, 1).End(3).Row).Value

    For X = LBound(Target_List, 1) To UBound(Target_List, 1)
        Target_Array.Add CStr(Target_List(X, 1)), CStr(Target_List(X, 1))
    Next
   
    Join_Data = Join(Target_Array.Keys, "|")
   
    Search_List = Range("B2:B" & Cells(Rows.Count, 2).End(3).Row).Value

    ReDim My_Result_List(1 To Rows.Count, 1 To 1)

    For X = LBound(Search_List, 1) To UBound(Search_List, 1)
        If Search_List(X, 1) <> "" Then
            If Join_Data Like "*" & Search_List(X, 1) & "*" Then
                My_Result_List(X, 1) = "Var"
            Else
                My_Result_List(X, 1) = "Yok"
            End If
        End If
    Next
   
    Range("C2").Resize(UBound(Search_List, 1)) = My_Result_List
   
    Set Target_Array = Nothing
   
    MsgBox "İşlem süresi ; " & Format(Timer - Process_Time, "0.00") & " Saniye"
End Sub
Kardeşim Merhaba , Ben bir türlü işlem yaptıramadım, bilgisayar donup kaldı sonuç alamadım. Eğer sizde formulu yazılmış "VAR" veya "YOK" diye bulduysanız o dosyayı atarmısınız?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit

Ekli dosyalar

Üst