• DİKKAT

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

çift tıklayınca makro ile bul

Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
selam arkadaşlar ;
Diyelim ki a2 hücresindeki "ahmet" e çift tıklatınca hedef sayfasında e sütunundaki ahmeti seç sin makrolu ....daha öncesinde ben bu veri sayfasındakileri makro ile hedef sayfasından getirtiyorum .
 

Ekli dosyalar

Merhaba.

veri sayfasının kod bölümüne uygulayın.
.
Kod:
[FONT="Arial Narrow"][B]Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)[/B]
If Intersect(Target, Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)) Is Nothing Then Exit Sub
On Error Resume Next
Cancel = True
Set h = Sheets("hedef"): Set wf = Application.WorksheetFunction
If Target.Value = "" Or wf.CountIf(h.Range("E:E"), Target) = 0 Then Exit Sub
h.Activate: h.Cells(wf.Match(Target, h.Range("E:E"), 0), 5).Activate
[B]End Sub[/B][/FONT]
 
çok teşekkürler ömer bey , dosyama uyarlarken bu target veya intersect in ne olduğunu bilmediğim için zorlandım ,son kez target veya intersect i nerden (kaynak) öğrenebilirim
 
Tekrar merhaba.

Forumda verilen cevapların gerçek belgeye uygulanması konusunda birçok üye sorun yaşıyor.
Aslında bunun çözümü; soru için hazırlanan örnek belgenin gerçek belgeyle aynı yapıda (veri türü/satır/sütun yapısı gibi) olması.
Bu nedenle cevaplarımın altındaki İMZA bölümünde bunu özellikle vurguluyorum.

Intersect kelime anlamı olarak KESİŞİM demek.
Intersect satırıyla belirlediğimiz şey kod'un devreye gireceği alan oluyor.

Mevcut haliyle kod, A sütununda A2 hücresinden, A sütunundaki son dolu satıra kadarki alanda
çift tıklama yaptığınızda devreye girecek, bunun dışındaki hücrelerde devreye girmeyecektir.

Target ise HEDEF anlamında, yani çift tıkladığınız hücre.
If Target.Value diye başlayan satırda, eğer çift tıklanan A sütunu hücresi boşsa veya
bu hücredeki değer diğer sayfa E sütununda yoksa işlem yapılmamasını sağlıyor.
.
 
Alternatif.:cool:
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim k As Range, sonsat As Long
If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
Cancel = True
If Target.Value = "" Then Exit Sub
Set k = Sheets("Hedef").Range("E:E").Find(Target.Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    Sheets("hedef").Select
    k.Select
End If
End Sub
 
Geri
Üst