Aranılan değerin hücresini veren kod

Katılım
26 Ağustos 2008
Mesajlar
7
Excel Vers. ve Dili
Office 2003 Türkçe
Öncelikle herkese selam üstatlar.
Sorumun açıklaması şu;
sayfa içerisinde makroyla arattığım değerin bulunduğu hücre konumu veren ve bu konumu bir değişkene atayan kod ve, bu konuma göre seçme, kopyalama ve a1 hücresinden itibaren yapıştıran kod gerekli.

Örnek;

"ALİ" ismini 'Sayfa2'nin B sütünunda arasın, bulduğunda hangi satır olduğunu bi değişkene atasın ve o satırın kendi belirleyeceğim kadarını seçsin.

Teşekkürler
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,256
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bir deneme yaptım inceleyiniz.

Sayfa1 B1 hücresindeki değeri, Sayfa2'nin A sütununda arar, bulursa bulduğu satırdan 5 adet hücreyi alır ve Sayfa1'in H1 sütununa kopyalar.

Sanırım bu kodları incelerken yapmak istediğinizi anlarsınız.

Kod:
Sub Ara()
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
If s1.[B1] = "" Then Exit Sub
s1.Columns("H").ClearContents
Set Bul = s2.Columns("A").Find(s1.[B1], lookat:=xlWhole)
If Not Bul Is Nothing Then
    MsgBox s1.[B1] & " Değeri Sayfa2'de " & Bul.Row & ". Satırdadır"
    s2.Range("A" & Bul.Row & ":A" & Bul.Row + 5).Copy
    s1.[H1].Select
    ActiveSheet.Paste
Else
    MsgBox "Aranılan Değeri Bulamadım...."
End If
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,216
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Kod:
Sub BUL()
Dim ARA, DEG, SEC As String
ARA = InputBox("Aranılacak değeri giriniz")
For SUT = 1 To Cells(65536, "B").End(3).Row
If Cells(SUT, "B") = ARA Then
Cells(SUT, "B").Select
End If
Next
DEG = ActiveCell.Address
SEC = InputBox("Seçilecek aralığı giriniz")
Range(Range(DEG), Range(SEC)).Select
End Sub
 
Katılım
26 Ağustos 2008
Mesajlar
7
Excel Vers. ve Dili
Office 2003 Türkçe
Emeğinize teşekkür ederim ellerinize sağlık.
Nejdet hocam bulduğu değer hangi satırda ise o satırı komple seçsin, "sayfa 2" nin ilk satırına yapıştırsın, istediğimiz kaydın bu olup olmadığını sorsun eğer buysa exit sub bu değilse bir sonraki kaydı yine "sayfa 2" nin ilk satırına yapıştırsın istesem çok şey istemiş olur muyum? Tabi makroyu her çalıştırdığımda ilk satırdan aramaya başlamasını unutmayalım.
Şimdiden teşekkürler. Ziya hocam senin programıda arşive aldım onun üzerine program yazıcam. Ellerine sağlık.
 
Katılım
26 Ağustos 2008
Mesajlar
7
Excel Vers. ve Dili
Office 2003 Türkçe
Üstatlar ben mi anlatamadım yoksa aradığım şeyin cevabı mı yok. Bir daha anlatayım;
Sayfa 1 de müşteri kayılatları var. Her satırda ayrı bi müşteri kaydı var. sayfa 2 de bir düğmeye bağlı olarak inputboxa girilen değeri sayfa 1'in sütunun da arasın,bulduğu ilk satırı yani kaydı sayfa 2 nin 3.satırına yapıştırsın, aradığım kaydın bu olup olmadığını sorsun. Eğer buysa makrodan çıksın, bu değilse sonraki kaydı 3. satıra yapıştırsın. İstenilen kayıt bulunamaza mesgbox la kayıt yok desin. Lütfen bi cevap
 
Üst