msgbox örneği

Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
Arkadaşlar benim aynı dosyada iki sheetim var ve yapmak istediğim şey ;

Sheet2 deki b7 hücresine bir bilgi girdiğimde, bu eğer sheet1 deki E (e1:e65536) kolonunda yer alıyorsa "eminmisin?" uyarı mesajı verdirtmeye çalışıyorum. Bunun için aşağıdaki kodu denedim ve tahmin edebileceğiniz gibi sonuca ulaşamadım.

Nerde yanlış yapıyorum? Üstadlarım bir bakarsanız çok sevinirim

Dim bVal As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)

s1 = Sheets("Sheet1")
s2 = Sheets("Sheet2")

s2.[b7].Select

For a = 2 To s1.[b65536].End(xlUp).Row

If s2.[b7] = s1.Cells(a, 5) Then

MsgBox ("Eminmisiniz?")
Application.EnableEvents = True

End If
Next

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
bVal = Not IsEmpty(Target)
End Sub
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
Kod:
s1 = Sheets("Sheet2").Range("b7")
For Each Var In Sheets("Sheet1").Range("e1:e65536")
If s1 = Var Then
MsgBox ("Eminmisiniz?")
şeklinde dener misiniz.
 
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
maalesef bir türlü dosyaya oturtamadım. Ekte yolladığım örnek içine yapmanızı rica etsem yapabilirmisiniz?
 
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
harikasınız ellerinize sağlık
 
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
Mahmut bey,

dosyayı kendi dosyama uyarlamaya çalıştığımda bir sorunla karşılaştım.

b7 hücresine girilen değerde uyarı vermesi gerekirken dosyanın hangi hücresine bilgi girerseniz girin b7 hücresindeki bilgi durdukça uyarıyı tekrarlıyor.

Benim asıl yapmak istediğim mesela b7 - b16 aralığına girilen değerleri sheet1 de aratayım ancak uyarıyı bir kez versin. çünkü bazen iki kez o numaranın girilmesi gerekebiliyor. Bunu engellemekte istemiyorum.

Burada önümüze çıkacak sorun şu olabilir. b7 hücresindeki bilgi için uyarı mesajı aldıktan sonra işleme devam ediyorsak ve b8 hücresine girilen bilgide sheet1 de yer alan bilgi ise ilk bilgi için artık uyarı vermesin ama b8 hücresi için uyarıyı versin. tabi b9 , b10 , b11 içinde bu geçerli olsun. Hep yeni girilen bilgi için bir kez uyarı versin.

Sizce mümkünmü bu?
 
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
Bu konuda yardımcı olabilirseniz çok sevinirim.
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2021 Excel Tr
Yukarıdaki mesajımda dosyayı güncelledim.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bul As Range, rng As Range
Dim i As Integer
Dim adres
Set rng = Range("$B$7:$B$16")
Application.ScreenUpdating = False
If Not Intersect(Range(Target.Address), rng) Is Nothing Then
Set Bul = Sheets("Sheet1").[e:e].Find(Target, LookAt:=xlWhole)
If Not Bul Is Nothing Then
adres = Bul.Address
i = 1
i = i + 1
Target(i - 1, 2) = Bul(1, 4)
Set Bul = Sheets("Sheet1").[e:e].FindNext(Bul)
MsgBox "Aradığınız veri Sheet1 sayfasında " & Bul.Address & " adresinde kayıtlıdır."
Else
MsgBox "Aradığınız veri bulunamadı."
End If
End If
End Sub
 
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
ellerinize ve fikrinize sağlık..

inanın çok makbule geçti, çok ama çok teşekkür ederim

syg
 
Üst