Soru Sıralı Rakamları Search Etmek

Katılım
28 Mart 2019
Mesajlar
33
Excel Vers. ve Dili
Excel 2007
İyi pazarlar. Search yapan bir makroya ihtiyacım var, yardımcı olabilirseniz çok makbule geçer. Örnek dosyaya bakalım: Sütun A'da sıralanmış sayı kümeleri var gördüğünüz gibi. Sütun F' ye ise 33,35,8,13,14.. şeklinde bir sayı kümesi yazıyoruz. Makro sütun A' da tarama yapacak: Öncelikle 33 rakamının yer aldığı kümeleri ayıklayacak, sonra bunların içinden (yani 33 rakamının yer aldığı kümeler) 35 olanları ayıklayacak, 35 olanları ayıkladıktan sonra elde edilen liste içinde 8 olanları bulup ayıklayacak,.. bu şekilde tüm rakamları eleyerek devam edecek. Bazen F' deki herhangi bir rakam elde ettiğimiz listede yer almayabilir, o zaman bulamadığı rakamı pas geçip, bir sonraki rakamı arayacak. Örneğin; 35 var, 8 de var, fakat 35 ve 8' in aynı anda olduğu kümelerin hiç birinde bir diğer rakam olan 13 yok. O zaman 13' i pas geçer, bir sonraki rakam olan 14' ü ararız. O da yoksa yine sıradan devam ederiz.

NOT: Konuyla ilgili excel sayfasının ekran görüntüsü aşağıdaki linktedir, resim veya dosya olarak eklemek istedim fakat ekleyemediğim için link veriyorum
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Resime bakarak kimse size yardımcı olmaz. Örnek dosyanızı ekleyin paylaşım sitelerinden birine.
 
Katılım
28 Mart 2019
Mesajlar
33
Excel Vers. ve Dili
Excel 2007
Merhaba,
Resime bakarak kimse size yardımcı olmaz. Örnek dosyanızı ekleyin paylaşım sitelerinden birine.
Paylaşım sitelerine ekledim, fakat burada paylaşmaya kalkınca her seferinde hata verdi. Kaldı ki dosyalık bir durum yok. Sadece A' da bir çok rakam kümesi, F' de ise bir adet rakam kümesi var. Hepsi bu.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Sorunuz bu haliyle dahi eksik.
Arama yaptık, tüm sayıları 10 satırda bulduk diyelim? Ne olacak? Nereye ne yazacağız?
Arama yaptık, bir sayı hariç diğerlerinin geçtiği 3 satırda bulduk diyelim. Ne olacak? Nereye ne yazacağız?
Arama yaptık, birden fazla sayı hariç diğerlerinin geçtiği 2 satırda bulduk diyelim. Ne olacak? Nereye ne yazacağız?
Arama yaptık, sayıları hiç bir satırda bulamadık. Ne olacak? Nereye ne yazacağız?
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Eğer ayıklamaktan kastınız silmek ise kod aşağıda. Yedek alarak deneyin.
Veriler resminizdeki gibi A sütunu ve F1 hücresinde, B sütununuz da boş olmalı
Kod:
Sub Makro1()
son = Cells(Rows.Count, 1).End(3).Row
Range("B1:B" & son).Value = "="","" & RC[-1]& "","""
bak = Split(Range("F1"), ",")
For i = 1 To son
For x = 0 To UBound(bak)
If InStr(Cells(i, 2), "," & bak(x) & ",") > 1 Then
Columns(1).Replace "," & bak(x), ""
ElseIf InStr(Cells(i, 2), "," & bak(x) & ",") = 1 Then
Columns(1).Replace bak(x) & ",", ""
End If
Next
Next
Columns(2).Clear
End Sub
 
Katılım
28 Mart 2019
Mesajlar
33
Excel Vers. ve Dili
Excel 2007
Eğer ayıklamaktan kastınız silmek ise kod aşağıda. Yedek alarak deneyin.
Veriler resminizdeki gibi A sütunu ve F1 hücresinde, B sütununuz da boş olmalı
Kod:
Sub Makro1()
son = Cells(Rows.Count, 1).End(3).Row
Range("B1:B" & son).Value = "="","" & RC[-1]& "","""
bak = Split(Range("F1"), ",")
For i = 1 To son
For x = 0 To UBound(bak)
If InStr(Cells(i, 2), "," & bak(x) & ",") > 1 Then
Columns(1).Replace "," & bak(x), ""
ElseIf InStr(Cells(i, 2), "," & bak(x) & ",") = 1 Then
Columns(1).Replace bak(x) & ",", ""
End If
Next
Next
Columns(2).Clear
End Sub
Hocam çok sağolun..
 
Katılım
28 Mart 2019
Mesajlar
33
Excel Vers. ve Dili
Excel 2007
Sorunuz bu haliyle dahi eksik.
Arama yaptık, tüm sayıları 10 satırda bulduk diyelim? Ne olacak? Nereye ne yazacağız?
Arama yaptık, bir sayı hariç diğerlerinin geçtiği 3 satırda bulduk diyelim. Ne olacak? Nereye ne yazacağız?
Arama yaptık, birden fazla sayı hariç diğerlerinin geçtiği 2 satırda bulduk diyelim. Ne olacak? Nereye ne yazacağız?
Arama yaptık, sayıları hiç bir satırda bulamadık. Ne olacak? Nereye ne yazacağız?
Hocam ilginiz için çok teşekkür ederim, halledildi. Yazılacak yer olarak herhangi bir sütunda olabilirdi. O yüzden belirtmedim özellikle.
 
Üst