Makroyu nasıl formülden çalıştırabilirim?

Katılım
28 Aralık 2005
Mesajlar
92
Mesela A3= A ise Makro1'i A3= B ise Makro2'yi A3= C ise Makro3 çalışsın. Bunun gibi 10 değişken var.

Yapmak istediğim asıl şu. 2 adet listem var.
1. listede Bölüm 1, Bölüm 2, ..., Bölüm 10
2. Listede ise her bölümün alt başlıkları.

Şimdi A3 hücresine Doğrulamadan Liste oluşturdum. A3 hücresindeki listeden Bölüm 4'ü seçersem A4 hücresinde sadece Bölüm 4'ün alt başlıkları liste olarak gözüksün. Bunun için 10 adet makro yaptım. Makro hücrelere her başlığın Doğrulama listesini oluşturuyor.

Yapamadığım ise A3'den Bölüm 4'ü seçtiğim anda makro otomatik nasıl çalışır?

Bunun için mesela A5 hücresine EĞER A3="Bölüm 1"; Run.Application "Makro3" falan gibi birşey yapabilirmiyiz. Ben başaramadımda...
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,424
Excel Vers. ve Dili
excel 2010
merhaba
şöyle birşey olabilir mi?

Sub makro1()
MsgBox "selam"
End Sub
Sub makro2()
MsgBox "merhaba"
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("a1") = 1 Then Call makro1
If Range("a1") = 2 Then Call makro2
End Sub
 
Katılım
28 Aralık 2005
Mesajlar
92
Cevabınız için teşekkür ederim. Mesela bu tablo olduğu için, sadece a1 hücresinde değil, a1 ile a500 arası kullanılacak. Aslında kayıtta bir sınırsa yok. Sene sonuna kadar 1000 kayıtta yapılabilinir. Her satır için aşağıdaki yapamayız herhalde. Eğer yapmaya kalkışsam 1000 satır, 10 değişken olacağından 10.000 satır kod yazmam gerekir. :)

Başka nasıl yapılabilinir????
 
Katılım
28 Aralık 2005
Mesajlar
92
Yardımlarınla başardım uzmanamele çok teşekkür ederim

Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveCell.FormulaR1C1 = "Muh1" Then Call Muh1
If ActiveCell.FormulaR1C1 = "Muh2" Then Call Muh2
If ActiveCell.FormulaR1C1 = "Muh3" Then Call Muh3
If ActiveCell.FormulaR1C1 = "Muh4" Then Call Muh4
If ActiveCell.FormulaR1C1 = "Muh5" Then Call Muh5
If ActiveCell.FormulaR1C1 = "Muh6" Then Call Muh6
End Sub
 
Üst