Private Sub Worksheet_SelectionChange ByVal Target As Range hakkında yardım!

Katılım
6 Kasım 2020
Mesajlar
13
Excel Vers. ve Dili
vba
Selamlar.Ülkelerin vize rejimleri ile ilgili bir çalışmam var. Sayfada gözüken her hücrede birer ülke ismi mevcut. Ben bu hücrelere TIKLADIĞIMDA msgbox ile o hücrede yazılı ülkeye ait veriler açılsın istiyorum. Bunu A1 için şu şekilde yapabiliyorum;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [a1]) Is Nothing Then Exit Sub
MsgBox"A1 Hücresindeki Ülkeye Ait Veriler"
End Sub

Ancak diğer hücrelere uyduramıyorum bu kodu. Excel "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" kodun 2 kere kullanılmasına izin vermiyor. Sonuç olarak;

Kod1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [a1]) Is Nothing Then Exit Sub
MsgBox"A1 Hücresindeki Ülkeye Ait Veriler"
End Sub

Kod2
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [a2]) Is Nothing Then Exit Sub
MsgBox"A2 Hücresindeki Ülkeye Ait Veriler"
End Sub

Bu 2 kodun ve eklenecek onlarcasının tek bir Private Sub Worksheet_SelectionChange(ByVal Target As Range) altında birleştirilmesi araştırmalarıma göre mümkün ancak ben yapamadım. Yardım edebilir misiniz? Ya da bunu daha kolay yapabileceğim başka bir yöntem var mıdır?
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Merhabalar,
Dener misiniz?
A1 e tıkladığınızda MsgBox "A1 Hücresindeki Ülkeye Ait Veriler" gelecek
A2 e tıkladığınızda MsgBox "A2 Hücresindeki Ülkeye Ait Veriler" gelecek


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [a2]) Is Nothing Then
MsgBox "A1 Hücresindeki Ülkeye Ait Veriler"
Else
If Intersect(Target, [a1]) Is Nothing Then
MsgBox "A2 Hücresindeki Ülkeye Ait Veriler"
End If
End If
End Sub
 
Katılım
6 Kasım 2020
Mesajlar
13
Excel Vers. ve Dili
vba
Merhabalar,
Dener misiniz?
A1 e tıkladığınızda MsgBox "A1 Hücresindeki Ülkeye Ait Veriler" gelecek
A2 e tıkladığınızda MsgBox "A2 Hücresindeki Ülkeye Ait Veriler" gelecek


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, [a2]) Is Nothing Then
MsgBox "A1 Hücresindeki Ülkeye Ait Veriler"
Else
If Intersect(Target, [a1]) Is Nothing Then
MsgBox "A2 Hücresindeki Ülkeye Ait Veriler"
End If
End If
End Sub
İlginize teşekkürler öncelikle. A1 ve A2 hücresinde çalışıyor ancak içeriğinde veri bulunan ve bulunmayan herhangi bir hücreye tıklayınca da "A1 Hücresindeki Ülkeye Ait Veriler" ifadesini döndürüyor.
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
499
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Altın Üyelik Bitiş Tarihi
13.09.2027
Merhabalar,

A1 e çift tıkladığınızda MsgBox "A1 Hücresindeki Ülkeye Ait Veriler" gelecek
A2 e çift tıkladığınızda MsgBox "A2 Hücresindeki Ülkeye Ait Veriler" gelecek

Double click ile dener misiniz?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address(0, 0) = "A1" Then
Cancel = True
MsgBox "A1 Hücresindeki Ülkeye Ait Veriler"
End If
If Target.Address(0, 0) = "A2" Then
Cancel = True
MsgBox "A2 Hücresindeki Ülkeye Ait Veriler"
End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,256
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya ekleyerek yapmak istediğiniz işlemi açıklarsanız daha net cevaplar alabilirsiniz.
 
Katılım
6 Kasım 2020
Mesajlar
13
Excel Vers. ve Dili
vba
Merhabalar,

A1 e çift tıkladığınızda MsgBox "A1 Hücresindeki Ülkeye Ait Veriler" gelecek
A2 e çift tıkladığınızda MsgBox "A2 Hücresindeki Ülkeye Ait Veriler" gelecek

Double click ile dener misiniz?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address(0, 0) = "A1" Then
Cancel = True
MsgBox "A1 Hücresindeki Ülkeye Ait Veriler"
End If
If Target.Address(0, 0) = "A2" Then
Cancel = True
MsgBox "A2 Hücresindeki Ülkeye Ait Veriler"
End If
End Sub
Cevabınız için teşekkür ederim. Şu şekilde çözdüm konuyu;

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
    MsgBox "a1 verileri"

ElseIf Target.Address = "$A$2" Then
    MsgBox "a2 verileri"
    
ElseIf Target.Address = "$A$3" Then
    MsgBox "a3 verileri"
 
Üst