• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.

 
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 :(
 
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:
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?
 
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.
 
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....
 
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.
 
Geri
Üst