Excel.web.tr deki tüm arkadaşlara merhaba
Excelde yapmakta oldugum bir calışmada çözemedigim bir sorunla karşılaştım ve sizlerin yarımını bekliyorum.
Ekte gönderdigim test sayfasında sorunla ilgi bir örnek calışma var yaşadıgım soruna gelince
excel sayfasında 3 farklı sayfa var (calıma)-(ana ekran)-(bilgi) yapmış oldugum calışmada ana ekranda (at) sutununa
calıma ve bilgi sayfalarındaki verileri karşılaştırıp a yada b yazdırıyorum daha sonra au sutununda
deger b ise 1 a ise 2 yazdırıyorum daha sonra devreye makro giriyor eger au ekraında 1 görürse sesmakrosunu calıştırıyor
2 ise her hangi bir ses vermiyor yada hücre boşsa buraya kadar her hangi bir sorun yok yaşadıgım soruna gelince
degerler otomatik calıştıgı icin şöyle bir makro yazdım
Private Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Private Sub Worksheet_Calculate()
On Error Resume Next
If Cells(Target.Row, "AU") = "1" Then
sndPlaySound "c:\a\a.wav", 0
End If
End Sub
makrodaki sorun ise şu eger daha önceden ana ekranda au sutununa 1 yazılmışsa ben herhangi
bir hücreye bişe yazınca ses makrosu tekrar calışıyor.
benim istedigim ise makro sadce ana ekrandaki au sutununu görsün ve ben diğer hücrelere bişe yazınca ses makrosu calışmasın
ana ekrandaki au sutununda 1 yazınca ses makrosu bir kere calışsın daha önce
Worksheet_Change(ByVal Target As Range) kullanıyordum fakat ondada hücre icine manuel müdahale etmeden makro calışmıyordu yani formül au
sutununa 1 yazsa bile ses makrosu calışmıyordu onun yerine Worksheet_Calculate() kullandım ama bu seferde farklı her hangi bir hücreye bişe yazınca
ses makrosu tekrar tekrar calışıyor bu sorunumu cözebilecekmisiniz acaba
iyi calışmalar.
Excelde yapmakta oldugum bir calışmada çözemedigim bir sorunla karşılaştım ve sizlerin yarımını bekliyorum.
Ekte gönderdigim test sayfasında sorunla ilgi bir örnek calışma var yaşadıgım soruna gelince
excel sayfasında 3 farklı sayfa var (calıma)-(ana ekran)-(bilgi) yapmış oldugum calışmada ana ekranda (at) sutununa
calıma ve bilgi sayfalarındaki verileri karşılaştırıp a yada b yazdırıyorum daha sonra au sutununda
deger b ise 1 a ise 2 yazdırıyorum daha sonra devreye makro giriyor eger au ekraında 1 görürse sesmakrosunu calıştırıyor
2 ise her hangi bir ses vermiyor yada hücre boşsa buraya kadar her hangi bir sorun yok yaşadıgım soruna gelince
degerler otomatik calıştıgı icin şöyle bir makro yazdım
Private Declare Function sndPlaySound Lib "winmm.dll" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As String, _
ByVal uFlags As Long) As Long
Private Sub Worksheet_Calculate()
On Error Resume Next
If Cells(Target.Row, "AU") = "1" Then
sndPlaySound "c:\a\a.wav", 0
End If
End Sub
makrodaki sorun ise şu eger daha önceden ana ekranda au sutununa 1 yazılmışsa ben herhangi
bir hücreye bişe yazınca ses makrosu tekrar calışıyor.
benim istedigim ise makro sadce ana ekrandaki au sutununu görsün ve ben diğer hücrelere bişe yazınca ses makrosu calışmasın
ana ekrandaki au sutununda 1 yazınca ses makrosu bir kere calışsın daha önce
Worksheet_Change(ByVal Target As Range) kullanıyordum fakat ondada hücre icine manuel müdahale etmeden makro calışmıyordu yani formül au
sutununa 1 yazsa bile ses makrosu calışmıyordu onun yerine Worksheet_Calculate() kullandım ama bu seferde farklı her hangi bir hücreye bişe yazınca
ses makrosu tekrar tekrar calışıyor bu sorunumu cözebilecekmisiniz acaba
iyi calışmalar.
