Hücrede Yazılı Makroyu Çağırmak

Katılım
9 Ekim 2019
Mesajlar
109
Excel Vers. ve Dili
Standart 2016
Arkadaşlar merhaba,

For döngüsü içinde belirli kurallar dahilinde farklı bir modüldeki(Modül ismi "Kontroller") makroyu çağırmak istiyorum. Burada "D" sütununda şehir isimleri, "G" sütununda "Kontrol Edilecek" veya "Kontrol Edilmeyecek" kriteri ve "H" sütununda "kontrol001" vb gibi devam eden kontrol makro isimleri var.
Benim istediğim for döngüsü içinde "D" sütunundaki şehir ismi "ANKARA" ve "G" sütununda "Kontrol Edilecek" yazılı olan satırlar için "H" sütununda yazılı makroyu çağırmak. Bunu nasıl yapabiliriz? Benim yazdığım kodda call kısmı hata(Compile error: Expected Sub, Function or Property) veriyor.

Kod:
For i2 = 2 To sonsatir2
    If ws00.Cells(i2, 4) = "ANKARA" And _
       ws00.Cells(i2, 7) = "Kontrol Edilecek" Then
       kontrolmakrono = "Kontroller." & ws00.Cells(i2, 8)
       Call kontrolmakrono
    End If
Next i2
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba

Bunun gibi bir şey mi istiyorsunuz.
Sayfa1 A1'de makro1
Sayfa1 A2'de makro2
Sayfa1 A3'de makro3


Kod:
Sub makro1()
MsgBox "makro1 çalıştı"
End Sub
Sub makro2()
MsgBox "makro2 çalıştı"
End Sub
Sub makro3()
MsgBox "makro3 çalıştı"
End Sub

Sub makro4()
For i = 1 To 3
makro = Sheets("Sayfa1").Cells(i, 1)
Run makro
Next
End Sub
 
Katılım
9 Ekim 2019
Mesajlar
109
Excel Vers. ve Dili
Standart 2016
Merhaba @uzmanamele

Evet yazdığınız gibi bir şey istiyorum ama sizinki de hata veriyor.
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Eğer D13 hücresinde goster yazıyorsa, makro5deki kod goster makrosunuda çalıştırır.
Kod:
Sub Makro5()
Run Range("d13").Value
End Sub

Sub goster()
MsgBox 456
End Sub
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
NOT: Makroların tek bir modülde yada ayrı ayrı modüllerde olması fark etmez, çalıştırmak için makro ismi yeter.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Merhaba @uzmanamele

Evet yazdığınız gibi bir şey istiyorum ama sizinki de hata veriyor.
Merhaba
Kod hata vermez, siz bir şeyi eksik yapıyorsunuzdur.

Ya da boşverin benim yazdığım kodları.
Kendi kodlarınızı kullanın, Call yerine Run yazın
 
Üst