Soru Farklı hücre değeri için sesli uyarı

Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Arkadaşlar merhaba,

Ofisimizde barkod okuyucu ile ürünleri okutup barkod bilgilerini excele alıyoruz ancak bazı durumlarda barkod okuyucu doğru okuma yapamayarak 6 haneli bir rakam okuyor. Ben bu durum oluştuğunda sesli bir uyarı almak istiyorum ki barkod okuturken sürekli ekranı takip etmek zorunda kalmayalım. Ekli excel listesinde bir örnek oluşturdum, 16. satırda barkod okuyucunun hatalı okuma yaparak 13 haneli barkod yerine 6 haneli tanımsız bir rakam getirdiğini örnekledim.

Yardımcı olabilirseniz çok sevinirim.

https://www.dosya.tc/server22/f5p2dx/Barkod_Listesi.xlsx.html
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba sayfanın kod bölümüne aşağıdaki kodu yapıştırıp deneyiniz (Barkod okuyucunun enter özelliğinin açık olduğunu varsayıyorum)
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 16 Then
    If Len(Target) <> 13 Then
        Target.Select
        Target.Interior.Color = 255
        Beep
    Else
        Target.Offset(0, 1).Select
        Target.Interior.Pattern = xlNone
    End If
End If
End Sub
Dosyanızı indiremediğim için , söylediklerinizden yola çıkarak yazdım kodları.
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Çok teşekkür ederim. Dosya açılıyor bu arada, şimdi denedim tekrar. Ben bir deneyip size geri dönüş yapacağım. Sanırım yazdığınız kod, 13 haneli rakam dışındaki her rakam için uyarı verecek.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Evet dosyanız açılıyordur doğrudur ,ben indiremiyorum maglesef benle alakalı :) dosya indirme sitelerine kısıtlı pc . Doğrudur 13 hane dışındakilerde uyarı verecek.
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Şimdi denedim macroyu ancak 16.satırdan sonra yana doğru okumaya başladı. Sanırım ben doğru anlatamadım, hata her seferinde 16. satırda oluşmuyor. Ne aksidir ki 100 tane barkod okuttum hala hatalı bir okuma yapmadı cihaz :)
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Tamamdır kodu güncelledim , birde barkod okuyucu ile denemeniz şart değil manual el ile de deneyebilirsiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
'If Target.Row = 16 Then
    If Len(Target) <> 13 Then
        Target.Select
        Target.Interior.Color = 255
        Beep
    Else
        'Target.Offset(0, 1).Select
        Target.Interior.Pattern = xlNone
    End If
'End If
End Sub
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Çok teşekkürler. Kod çalışıyor, 13 hanenin dışındaki her rakamda zemin kırmızı oluyor ve bir uyarı sesi veriyor, tam istediğim gibi oldu. Elinize sağlık

Peki ses tonunu değiştirme gibi bir şansımız var mı? Beep dışında başka bir ton, daha sinir bozucu birşey olsa da kaçırma şansımız olmasa hatayı :)
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Bu arada barkod okuyucu ile deniyorum okutmayı şimdi ama yana okuyor barkodları, normalda barkod okuyucunun default ayarı alt ya da enter.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Rica ederim , işinizin olmasına sevindim . Kodu tekrar kopyalayıp deneyiniz ('Target.Offset(0, 1).Select) komutunu pasif hale getirdim, Beep komutu var bildiğim. Tabi bir takım API' ler kullanarak dilerseniz Şarkı bile çaldırabilirsiniz , biraz araştırmak gerekir.
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Teşekkür ediyorum tekrardan. Rica etsem güncel kodu tekrar paylaşma şansınız var mı? Yukarıdaki 2 kod birbiri ile aynı.
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Tekrardan merhaba, ben o bölümü kodun içinden silip kaydettim ve alt alta okumaya başladı, 12 haneli bir barkod okuttum, normalde sesli uyarı verip, o hücreyi kırmızıya boyadıktan sonra okutulan barkodları sıralamaya devam etmesi gerekiyor ancak okuyucunun tetiğine bastığım anda hatalı hücrenin içine barkod getiriyor ve hatalı alan silinmiş oluyor.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Target.offset(0,1) yerine target.offset(1,0) olarak deneyin. İlk halinde aynı satır bir sağ iken bu şekilde 1 alt satır aynı sütun şeklinde kaydırır.
 

EmrExcel16

Destek Ekibi
Destek Ekibi
Katılım
1 Kasım 2012
Mesajlar
1,520
Excel Vers. ve Dili
Office 365 Türkçe
Merhaba güncel olarak aşağıdaki kodu deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Len(Target) <> 13 Then      
    Target.Interior.Color = 255
    Beep
Else      
    Target.Interior.Pattern = xlNone
End If
End Sub
 
Katılım
24 Ağustos 2017
Mesajlar
34
Excel Vers. ve Dili
Office 2010 English
Çok çok teşekkür ediyorum. Şimdi tam istediğim gibi çalışıyor kod :)
 
Üst