VBA da if ile birden çok makro çalıştırma

Katılım
12 Şubat 2017
Mesajlar
12
Excel Vers. ve Dili
2007 Türkçe
Selamlar arkadaşlar. Excellin kendi kendine üç taş (bazı yerlerde coz da deniyor) oyunu öğrenmesi üzerine bir çalışmam var. Oyunda yenildiği her örüntüyü kara listeye alıp, aynı örüntü tekrar oluştuğunda yenildiği hamleyi yapmayacak.
Takıldığım ve günlerdir çözemediğim nokta;
Private Sub Worksheet_Change(ByVal Target As Range)

If [ae4] > "1" Then Call Makro1
If [ae6] > "1" Then Call tarama2
If [ae8] > "1" Then Call tarama3
If [n13] = "9" Then Call berabertekrar


End Sub

yazdım hepsi şıkır şıkır çalışıyor, ancak ne zaman alta "If [n13] = "2" Then Call birlestir" yazsam excell kısır döngüye giriyor ve "özel durum oluştu" uyarısı veriyor. Oysa benim buraya bir kaç tane daha kod eklemem lazım.

Not: Birlestir makrosu formülle değer alıyor.

 
Katılım
12 Şubat 2017
Mesajlar
12
Excel Vers. ve Dili
2007 Türkçe
2016 excell kurdum en alta kodu ekledim;
Private Sub Worksheet_Change(ByVal Target As Range)

If [ae4] > "1" Then Call Makro1
If [ae6] > "1" Then Call tarama2
If [ae8] > "1" Then Call tarama3
If [n13] = "9" Then Call berabertekrar
If [n13] = "2" Then Call birlestir
End Sub

ama yine kısır döngüye girdi. Yüklediğiniz dosyayı da altın üyeliğim olmadığı için indiremedim :(
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2016 Excel Tr
Bilmiyorum ben de herhangi bir hata kısır döngü olmuyor, sayfa açıldığında rakamlar falan yenileniyor makrolar çalışıyor.
Kullanmış olduğum internet hattı paylaşım sitelerine erişim izni vermiyor.
O sebepten başka bir siteye yükleyemiyorum.
 
Son düzenleme:
Katılım
12 Şubat 2017
Mesajlar
12
Excel Vers. ve Dili
2007 Türkçe
Bilmiyorum ben de herhangi bir hata kısır döngü çıkmıyor, sayfa açıldığında rakamlar falan yenileniyor makrolar çalışıyor.
Kullanmış olduğum internet hattı paylaşım sitelerine erişim izni vermiyor.
O sebepten başka bir siteye yükleyemiyorum.
Teşekkürler hocam, ilgilendiniz. Son bir soru soracağım; hücre değeri değiştiğinde makroyu tetikleyecek başka bir yol var mı acaba bildiğiniz?
 

Mahmut Bayram

Özel Üye
Katılım
25 Haziran 2005
Mesajlar
1,778
Excel Vers. ve Dili
2016 Excel Tr
Bilinen metot budur. Çeşitli varyantları vardır.
Lakin sorun sanki kodlarda değil de aşağıdakilerden kaynaklı gibi;

1. Makro kodlarınızı detaylı incelemedim. Kodlardan kaynaklı olabilir.
2. Çok fazla hücre biçimlendirmeden olabilir.
3. Sayfada kilitlemelerinden dolayı olabilir,
4. Hücrede koruma olabilir kod(lar) erişmeye çalışıp erişemeyince hataya düşüyor olabilir.
 
Katılım
12 Şubat 2017
Mesajlar
12
Excel Vers. ve Dili
2007 Türkçe
Bilinen metot budur. Çeşitli varyantları vardır.
Lakin sorun sanki kodlarda değil de aşağıdakilerden kaynaklı gibi;

1. Makro kodlarınızı detaylı incelemedim. Kodlardan kaynaklı olabilir.
2. Çok fazla hücre biçimlendirmeden olabilir.
3. Sayfada kilitlemelerinden dolayı olabilir,
4. Hücrede koruma olabilir kod(lar) erişmeye çalışıp erişemeyince hataya düşüyor olabilir.
Sağolun hocam, ben biraz daha uğraşayım, işe yara bir şey bulursam paylaşırım buradan....
 
Katılım
25 Eylül 2012
Mesajlar
9
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
27-06-2021
Evet çözümü bulalı bir yıl oluyor ve yeni yazıyorum; bir hücre değeri, bir makroyu tetikliyorsa bu makro excell çökene kadar döner. Hemen açıklayayım; diyelim ki A1 hücresi başka bir hücreden veri çeksin ve eğer 2'ye eşitse makro 1 çalışsın. A1 = 2 olduğu anda, makro 1 çalışmaya başlar, makro end sub ile işlemi bitirdiğinde, A1 hücresinde yine 2 yazdığı için tekrar çalışır, sonra tekrar... Bunu engellemenin yolu, makro 1 in ilk satırına A1 hücresinde ki değeri silen cod eklemektir, muhtemelen daha profesyonel çözümlerde mevcuttur ancak ben bu şekilde çözdüm.
 
Üst