sesli veri doğrulama

Katılım
14 Aralık 2005
Mesajlar
23
örnekteki dosyada d3 hücresine hatalı kayıt girdiğimde e3 hücresinde hatalı kayıt yazısı çıkmaktadır.Benim istediğim d3 hücresine hatalı kayıt girdiğimde sesli herhangi bir uyarı yapılması(örneğin veri doğruama yaptığımda hata mesajı görünmekte ancak ben bunu herhangi bir ses ilede desteklemek istiyorum)
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki kodu sayfanın kod kısmına ekleyin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If [e3] = "hatalı kayıt" Then Beep
End Sub
 
Katılım
14 Aralık 2005
Mesajlar
23
teşekkür

dostum çok teşekkür ederim de bir sorum daha olacaktı beep sesini değitrime şansımız varmı
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki kodları ekleyip dener misiniz? Aslına bakarsanız tek satırlık bir kod vardı ama onu bulamadım.
Not:İstediğiniz "wav" dosyasını ekleyerek kullanabilirsiniz.
Kod:
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, _
 ByVal hModule As Long, ByVal dwFlags As Long) As Long
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000


Private Sub Worksheet_Change(ByVal Target As Range)
If [e3] = "hatalı kayıt" Then Call PlaySound("C:\WINDOWS\Media\ding.wav", 0&, SND_ASYNC Or SND_FILENAME)

End Sub
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Merhaba,

4. mesajda Sn. Hamitcan beyin kodunu ben kullanmak istedim fakat beceremedim. Ekteki dosyamda sarı renkli yerde formül sonucunda oluşan değer 60 sayısına ulaştığında sesli uyarı vermesi lazım..her 60 oldugunda müzik çalacak. Deneme isimli wav uzantılı dosyayı C:\WINDOWS\Media\deneme.wav" yoluna koydum. gerisi nasıl yapacağımı bilmiyorum.. Eki incelerseniz ne yapmak istediğimi anlarsınız.. Yardımcı olacaklara şimdiden teşekkürler.

Not: Çalışmamı 2007 olan bilgisayarda kullanacam..
 

Ekli dosyalar

Son düzenleme:

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Kodları, Sayfa1'in kod kısmına ekleyin.
Kod:
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, _
 ByVal hModule As Long, ByVal dwFlags As Long) As Long
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Private Sub Worksheet_Change(ByVal Target As Range)
If [n6].Value = 60 Then Call PlaySound("C:\WINDOWS\Media\chimes.wav", 0&, SND_ASYNC Or SND_FILENAME)

End Sub
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Kodları, Sayfa1'in kod kısmına ekleyin.
Kod:
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, _
 ByVal hModule As Long, ByVal dwFlags As Long) As Long
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Private Sub Worksheet_Change(ByVal Target As Range)
If [n6].Value = 60 Then Call PlaySound("C:\WINDOWS\Media\chimes.wav", 0&, SND_ASYNC Or SND_FILENAME)

End Sub
Hocam kod için teşekkür ederim. Kusura bakmayın eksik anlattığım bişey var Örnek 59'dan 65 oluyor 75 oluyor, Hergün sıfırdan başlıyor ve büyüyor bu sayı ama nasıl büyüdüğü belli olmuyor.. böyle durumlarda da çalması için kodu değiştirebilir miyiz?
 
Son düzenleme:

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Sorunuzu anlamadım, daha açık anlatır mısınız ?
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Hocam Çalışmamın aslını yolluyorum.. ilgili hücre 60 olunca ses çıkıyor fakat ne yaparsam ses çıkarıyor örnek bişi siliyorum ses geliyor.. Olması gereken Sarı renklı hücre 60'ı geçince ses çıkması.. Sizin verdiğiniz kodda 60 olunca ses geliyor. örnek 59dan 65 oldu diyelim ses çıkması lazım..
 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
N6 hücresi 60 dan küçük ses çıkmasın.
N6 hücresi 60 dan büyük ve 60 a eşit ise ses çıksın.
Yazdıklarınızdan yukarıdaki sonuçları çıkardım.Kodu da buna göre düzenledim.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [f15:f63]) Is Nothing Then Exit Sub
If [n6].Value >= 60 Then Call PlaySound("C:\WINDOWS\Media\ringin.wav", 0&, SND_ASYNC Or SND_FILENAME)
End Sub
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Hocam hata veriyor, Benim çalışmama ekleyip yollar mısınız? Bide her harakette ses çıkarmayacak sadece 60' geçtiğinde ses cıkarması yeterli.. 60 olan hücrede toplama formülü var F sütununa veriler girdikçe bu toplama formülündeki sayı artıyor. 60'ı geçtiğinde uyarı vermesi lazım..
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Sayın S.Yiğit, N6 hücresindeki 65 sayısı F15:F63 hücrelerindeki toplamdan geliyor, öyleyse burada yapılacak bir değişiklik kodun çalışmasını tetiklemeli. Ben de bu mantıktan hareket ederk bu kodu yazdım ayrıca dosyayı da ekledim, inceleyebilirsiniz.
 

Ekli dosyalar

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Sn hocam, bu uyarıyı bir kere vermesi yeterli. Eklediğiniz dosyada f15:f63 aralığına sayılar giriyorum ve 60 olduktan sonra ne işlem yaparsam uyarı veriyor. 60'ı geçtiğinde bir kere uyarması yeterli.. Yani kısaca değerleri girerken Excel bize 60'ı geçtin diye sesli uyarı versin, sonrasında ben çalışmama devam edecem.. Anlatım bozukluğum var kusura bakmayın.. Teşekkürler..
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Anladığım kadarıyla, ses, dosya kapanıncaya kadar bir kere çalacak. Öyleyse kodu aşağıdaki ile değiştirin.
Kod:
Public s As Byte
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, _
 ByVal hModule As Long, ByVal dwFlags As Long) As Long
Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_FILENAME = &H20000

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [f15:f63]) Is Nothing Then Exit Sub
If [n6].Value >= 60 Then
If s <> 1 Then Call PlaySound("C:\WINDOWS\Media\ringin.wav", 0&, SND_ASYNC Or SND_FILENAME)
End If
s = 1
End Sub
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Hocam bu sefer olmuş fakat örnek değer 59 iken değer girdim 61 oldu ve ses geldi kaydetip kapattım sonra acıp bir sayı daha girdim ve 61 iken 63 oldu diyelim yine ses geliyor :) Dediğiniz gibi bir kere çalacak ama 60'ı geçtiğinde çalacak. Bu sayılar 0'dan başlıyor ve 110'a kadar falan yükseliyor, bizim derdiğimiz 60'ı geçtiğimizde uyarı vermesi.. Sizide uğraştırıyorum :(
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,737
Excel Vers. ve Dili
Excel 2019 Türkçe
Dosyayı kapatıp açarsanız tabii ki hafızadaki değeri siliyor. Dosyayı kapatmadan çalıştığınız sürece ses bir kere çalacak bir daha çalmayacaktır.
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Hocam anlatamadım galiba, Diyorumki değer 61 oldu ses geldi kaydetip kapattım sonra değer 61 iken acıyorum başka değer giriyorum ses geliyor gelmemesi lazım :)
 

S.Yiğit

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2008
Mesajlar
1,748
Excel Vers. ve Dili
2019 TR
Yok hocam olmamış. :( Gönderdiğiniz dosyayı açtığımda değer 69 du bir değer girdim ve yine çaldı. Sanırım ben bir yerde yanlış anlatıyorum. ama sonuç olarak 60'ı geçtiğinde uyarı verecek hepsi bu.. Bu sayfayı sabah acıyoruz değerler giriyoruz kaydetip kapatıyoruz sonra tekrar acıyoruz tekrar değer giriyoruz sonra tekrar kapatıyoruz ve bu arada 60'ı geçtiğinde uyarı istiyoruz. Ertesi gün taşı ve kopyala diyip değerleri sıfırlıyoruz sonra yine aynı şeyleri yapıyoruz. Günlük yapılan bişey bu. Teşekkür ederiz sizide uğraştırıyorum..

Not: ben bu çalışmayı ingilizce 2007de kullanacam ama şuan 2003 ingilizce var. acaba bundan dolayı sorun oluyor olabilir mi?
 
Üst