hücre içine arama moturu yapmak

Schuba

Altın Üye
Katılım
27 Ocak 2016
Mesajlar
170
Excel Vers. ve Dili
microsoft 365 family türkçe
arkadaşlar yapmak istediğim şey şöyle sayfa1' in (A2) hücresine bir müşteri ismi girdiğimde
sayfa2'de bulunun müşteri listemdeki A sütununda bulunan müşteri isimlerini bana listelesin

yani sayfa1'in (A2) hücresine örneğin A yazdığımda veri doğrulamada olduğu gibi
(A2) hücresinden aşağıaya bir liste kutusu açılıp içinde sayfa2'nin (A) sutunundaki müşteri isimleri aşağıdaki örnekteki gibi alfabetik sIraya göre listelensin

ADNAN ...........
AHMET ...........
AYŞEGÜL ...........


AY yazdığımda ise yine aşağıdaki örnekteki gibi alfabetik sıraya göre listelensin

AYDEMİR .......
AYKUT ......
AYŞE ......

yani tam olarak google'deki arama motoruna nasıl bişey yazdığımızda yazdığımız harflere göre aşağıya doğru ilgili site isimleri alfabetik sıraya göre sıralanıyorsa
bende tam olarak öyle bişey istiyorum tek fark benim aramama motorum verilerini sayfa2 deki (A) sütununda arayacak

İLAVETEN yazdığım isim veya harfler sayfa2 deki (A) sütununda eyer yoksa yazdığım gibi kalıcak yani veri doğrulamada olduğu gibi veri girişi engellenmiyecek
çünkü arama moturana yazdığım isim eyer sayfa2 deki (A) sütununda yoksa yeni kayıt olarak aynı zamanda giriş yapmak için kullanıcam

bunu yapmamın sebebine gelince sayfa1 de müşterilerimin bilgilerini görüntülediğim form şeklinde bir müşteri carisi ekranım var
ve bu müşteri bilgilerini sayfan2 deki (A) sütunundaki müşteri isimlerine göre çekiyorum
eyer girdiğim müşteri ismi arama moturunda çıkıyorsa diyer bilgileri adres telefon vs gibi kendiliğinden bir makro yardımıyla geliyor ve bende tekrar kayıt yapmak için uğraşmıyorum gelen bilgiyi kullanıyorum
eyer arama moturuna yazdığım isim yoksa ozaman diyer bilgilerin girip kaydımı yapıyorum


bu konuda bana yardımı dokunacak olan varsa şimditen teşekkür ediyorum .........
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Aşağıdaki kodu deneyin.
Kod:
Sub googlegibibul()
Application.ScreenUpdating = False
Set s1 = Sheets("Sayfa2")
Set s2 = Sheets("Sayfa1")
son = 3
s2.Range("A3:A" & [A65536].End(xlUp).Row).ClearContents
For i = 2 To s1.[A65536].End(xlUp).Row
If InStr(1, s1.Cells(i, 1), s2.[A2], vbTextCompare) <> 0 Then
s2.Cells(son,1) = s1.Cells(i,1)
son = son + 1
End If
Next i
Application.ScreenUpdating = True
End Sub
Tabii ki; Sayfa1 de A2 hücresine yazacağınız kısa veri ile Makro tetiklemek mümkün ancak diğer makro kodlarınızın yapısına göre değişkenlik gerekebilir.
Eğer Örnek excel dosyanızı ve kodlarınızı Forum'a eklerseniz, daha verimli bir cevap bulunabilir.
İyi çalışmalar...
 
Son düzenleme:

Schuba

Altın Üye
Katılım
27 Ocak 2016
Mesajlar
170
Excel Vers. ve Dili
microsoft 365 family türkçe
hocam gönderdiğiniz kodları denedim ama çalıştıramadım dosyayı ekte gönderdim bi bakar üzerinde çalıştırırsanız sevinirim..
 

Ekli dosyalar

Schuba

Altın Üye
Katılım
27 Ocak 2016
Mesajlar
170
Excel Vers. ve Dili
microsoft 365 family türkçe
Bu arada hocam sayfa korumasının şifresi 1122 lazım olursa diye
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın @Schuba ,
#1 No.lu mesajınızda "veri doğrulamada olduğu gibi " ifadesini kullandığınız için verdiğim kodlar isteğinize uygundu.
Ancak Eklediğiniz dosya tamamen "VERİ DOĞRULAMA" uygulaması olacak şekilde çözüm gerektiriyor.
Bu nedenle; dosyanızın yeniden gözden geçirilip kod yapısının düzenlenmesi gerekiyor.
Bu arada;
Dosyanızda "REFERANS TAKİP" Sayfasında K27:K50000 aralığında bulunan isimler bir kaç kez tekrar edebiliyor.
Veri doğrulama ile alınan isimlerde de bu tekrar eden isimler birden çok çıkacaktır.
"REFERANS KAYIT FORMU" sayfasında form gibi gözüken alanlara hangisinin geleceğini ne şekilde tespit etmek gerekecek?

Açıklayıcı bilgi verirseniz, iyi olur.
 

Schuba

Altın Üye
Katılım
27 Ocak 2016
Mesajlar
170
Excel Vers. ve Dili
microsoft 365 family türkçe
evet dediğiniz doğru tam olarak aslında veri doğrulamadaki liste şeklinde istiyorum.
tek fark şu veri doğrulamada hücreye tıkladığım zaman sağda kulakçık çıkıyor ve o kulakçığı tıkladığım zaman veri doğrulamaya tanımlanan veriler listeleniyor ve listelenen verilerin içinde aşağıya veya yukarya çıkıp ismi buluyor ve tıklıyorum.
benim istediğim ise hücreye veri girmeye başladığım andan itibaren (GOOGLE'DE OLDUĞU GİBİ) girdiğim veriye göre alfabetik sıralamayla tanımladığım sütundaki isimler listelensin bende seçeyim
eyer girdiğim veriye göre tanımladığım sütunda eşleşen isim yoksa yazdığım gibi kalıcak yine (GOOGLE'DE OLDUĞU GİBİ)

not : tekrar eden isimlere gelince tekrar etsin sorun yok yani K27 ile K50000 arasında örneğin 5 tane KAZIM YILMAZ varsa alt alta veri doğrulamada olduğu gibi 5 'inide sıralasın sorun yok zaten sıralaması gerkiyor çünkü her biri ayrı bir müşteri demek sadece isim benzerliği var demektir ayrımını yapıcak bir düzeneğim var .

sonuç olarak benim istediğim olay sadece bu size gönderdiğim dosya sadece asıl dosyanın bir parçası konuyu anlatabilmek adın orjinal dosya çok daha kapsamlı ve pekçok kod içeriyıor.

istediğim olaya uygun bir excel aracı yada kodla entegre olmuş bir veri doğrulama aracı veyahut bir yöntem varmı bilmiyorum konuyla alakalı bir çözüm varsa ve paylaşırsanuız sevinirim..........................
 

Schuba

Altın Üye
Katılım
27 Ocak 2016
Mesajlar
170
Excel Vers. ve Dili
microsoft 365 family türkçe
hocam teşekkür ederim sanırım bu benim işimi görücek benim istediğime çok yakın
sadece aradaki fark ben verileri girerken listenin kendiliğinden açılmaması enter tuşuna basmamın gerekmesi (buda heralde makroyu tetikliyecek bir etkenin olmamasından kaynaklanıyor) ve ikincisi olarak verilerin alfabetik sıraya göre sıralanmaması
bunun haricindekiler tam istediğim gibi emeğinize sağlık teşekkür ederim...
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
1-)UserForm'u tetiklemesi için G14 hücresinin üstünde google gibi "arama" çubuğu(Textbox) harf girişi değişimine göre işlem yapacaktır.
değişim için UserForm ekranda dururken Textbox'ı seçip içinde harf ekleme, değiştirme yapabilirsiniz.
2-Liste "Alfabetik" olarak sıralanmıştır.
(Referans takip sayfanıza örnek olarak s harfi ile başlayan isimler eklenmiştir.Gözlemleyiniz)
Bu değişikliklerle dosyanız eklenmiştir.
Umarım, işinize yarar, iyi çalışmalar.
 

Ekli dosyalar

Schuba

Altın Üye
Katılım
27 Ocak 2016
Mesajlar
170
Excel Vers. ve Dili
microsoft 365 family türkçe
hocam bu çok daha iyi olmuş ellerinize sağlık yanlız sizden son bir ricam var birincisi evet yaptığınız Textbox ve alfabetik sıralama çok iyi olmuş vakat yeni eklediğiniz Textbox kutucuğuna bir harf girdikten sonra ikinci veya sonraki harfleri girmek için her seferinde girdiğim harfin önüne tıklamak zorunda kalıyorum direk yazabilsem ben yazarken çıkan listede'de yazdıklarıma göre değişiklik gösterse olmazmı

bir ikinci isteğimde yeni konumlandırdığınız Textbox kutucuğunun rengini boyutunu ve en önemliside konumunu nasıl değiştirebilirim

son olarakta çıkan listeninde istediğim yerde çıkmasını istiyorum yani ad soyad yazan kısmın hemen altında gibi bunu nasıl ayarlıya bilirim

hocam çok teşekkür ederim bu yazdıklarım olmassa bile çok işime yarıyıcak son yaptıklarınız iyi çalışmalar .............
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
1-)TextBox içinde bundan başka bir uygulama henüz bulamadım.(Eğer olursa yine forumda bilgi veririm)
2-)Excel Menüsünde Geliştirici altında "Tasarım Modu" nu tıklayın ve sonra sayfadaki TextBox1 i tıklayın. TextBox1 özelliklerini "Özellikler" den inceleyebilirsiniz.Renk ve yerini de değiştirebilirsiniz.(değişiklikten sonra Tasarım modundan çıkmayı unutmayın)

3-)UserForm'un istediğiniz şekilde çıkmasını sağlayan kod:
Private Sub UserForm_Activate()
Me.Left = Worksheets("REFERANS KAYIT FORMU").Range("G28").Left
Me.Top = Worksheets("REFERANS KAYIT FORMU").Range("G28").Top

Sheets("REFERANS KAYIT FORMU").TextBox1.Select
End Sub
G28 yazan yere H28 veya H29 da yazabilirsiniz.(Bilgisayar ekranınıza göre değişebilir)

Yeni haliyle dosyanız eklidir.
 

Ekli dosyalar

Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhaba.

Sayın @turist her zamanki gibi çok güzel bir çalışma hazırlamış.
Belgeye ve kodların akışına pek hakim değilim ama;
merak ettiğim husus (Sayın @Schuba veri kaynağının çok fazla veri içerdiğini söylüyor sanırım), açılan Userform'a verileri aktarırken neden For...Next döngüsünün kullanıldığı.
Zira TextBox'a veri yazıldığında, yazılan bu değeri kriter olarak kullanarak ilgili sayfada "K" sütununa filtre uygulanıp, K sütunundaki kalan satırlar uygun bir sayfaya/alana hızlı bir şekilde kopyalanıp alfabetik sıralanabilir, ListBox.RowSource yöntemiyle de bu veriler ListBox'a aktarılamaz mı? (Tabi aktarma sonrasında filtre tekrar temizlenebilir)
Bu yöntem daha hızlı olmaz mı acaba?
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın Baran,
Önerinizi uygulamaya dönüştürerek; "Alternatif Çözüm" önerinizle Foruma katkı sağlayacağınızı ümit ederek, iyi çalışmalar diliyorum.
Sağolun.
 
Son düzenleme:

relaxim

Altın Üye
Katılım
30 Ağustos 2009
Mesajlar
467
Excel Vers. ve Dili
Ofis 2016 Tr 64 bit
Turist Hocam yukarıdaki çalışmanızı kendi örneğime uyarlamaya çalıştım. Ancak sanırım başaramadım hata veriyor. UserForm2 Unload satırında açıklamasında SortList1 yapılamadı yazıyor. Vaktiniz olunca bakabilir misiniz? Cariler 100~150 kadar olacak.
Saygılar....
 

Ekli dosyalar

Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
İnceleyip cevap vermeye çalışırım.
 
Katılım
24 Nisan 2005
Mesajlar
3,652
Excel Vers. ve Dili
Office 2016 EN 64 Bit
arkadaşlar yapmak istediğim şey şöyle sayfa1' in (A2) hücresine bir müşteri ismi girdiğimde
sayfa2'de bulunun müşteri listemdeki A sütununda bulunan müşteri isimlerini bana listelesin
.........
Alternatif olarak ekli dosyadaki yöntemi deneyiniz.
Çok zamanım olmadığından, özenli bir çalışma olmadı ancak fikir verecektir.

REFERANS KAYIT FORMUN da Adı Soyadı textbox ına her harf girdiğinizde yan kolonda uygun kayıtlar listelenir. Herhangi birini seçtiğinizde Adı soyadına aktarır. Seçmezseniz sizin giriğiniz bilgi kalır. Seçim sonrası yandaki liste temizlenir.
 

Ekli dosyalar

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sağolun, helâl ü hoş olsun.
 

relaxim

Altın Üye
Katılım
30 Ağustos 2009
Mesajlar
467
Excel Vers. ve Dili
Ofis 2016 Tr 64 bit
Turist Hocam merhaba,

Sayfa koruması koyunca Fatura sayfasında texbox1 tek harf yerine daha fazla harf yazılabiliyor ve başkaca işlem yapmıyor. Ne yapmamız lazım.

Saygılar...
 
Üst