• DİKKAT

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

Fonksiyon içinden makro çalıştırabilirmiyiz?

Katılım
4 Aralık 2006
Mesajlar
16
Excel Vers. ve Dili
Office 2003/tr
Office 2007/tr
Merhaba arkadaşlar,
makroları her şekilde çalıştırabiliyoruz. aktif hücrede, aktif sayfada, hücre değeri şu iken vb. ama benim öğrenmek istediğim, bir formül içinde gerekli şartlar sağlandıktan sonra ilgili makroyu nasıl çalıştırabiliriz.
Örnek:
=eğer(a1=100;Makro adı;"")
 
yanıt

Bu şekil olabilir.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If [b1].Value = "Makro adı" Then
MsgBox "Makro adı makrosu çalıştı"
End If
End Sub
 
Merhaba arkadaşlar,
makroları her şekilde çalıştırabiliyoruz. aktif hücrede, aktif sayfada, hücre değeri şu iken vb. ama benim öğrenmek istediğim, bir formül içinde gerekli şartlar sağlandıktan sonra ilgili makroyu nasıl çalıştırabiliriz.
Örnek:
=eğer(a1=100;Makro adı;"")
Merhaba.
Makro ile yazılmış KTF(Kullanıcı Tanımlı Fonksiyon) kulanabilirsiniz.
Aşağıdaki KTF 'yi bir modüle kopyalayın.
ve Bir Hücreye =KTF(A1) yazın.
A1 hücresine 100 girin ve sonucu gözlemleyin.:cool:
Kod:
Function KTF(a As Range)
If a = 100 Then MsgBox "Hücre 100"
End Function
 
Son düzenleme:
ya da :

Bir fonksiyon yazılabilir (Kullanıcı Tanımlı)

Kod:
Function Mesaj()
        MsgBox "Merhaba"
End Function

Excelde de :

Kod:
=IF(A1=100;mesaj();"")
=EĞER(A1=100;mesaj();"")
 
hepinizin verdiği cevaplar için teşekkür ederim.
Necdet Yesertener'in verdiği cevap bana daha mantıklı geldi ama excelde formül içine yazacağımız makro ille de kullanıcı tanımlı fonksiyon mu olması gerekiyor.
 
hepinizin verdiği cevaplar için teşekkür ederim.
Necdet Yesertener'in verdiği cevap bana daha mantıklı geldi ama excelde formül içine yazacağımız makro ille de kullanıcı tanımlı fonksiyon mu olması gerekiyor.

Hayır, normal bir fonksiyon kullanıp, fonksiyonun bulunduğu hücredeki değere göre makroyu çalıştıran bir kodu, worksheet_calculate veya worksheet_change olayına yazabilirsiniz.
 
leventm
rica etsem konuyu biraz açabilirmisin?
 
leventm yazdığını ilk önce anlamamıştım ama biraz araştırınca olayı çözdüm.
teşekkür ederim.
 
Geri
Üst