• DİKKAT

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

Formülü tetikletmek

Katılım
25 Ocak 2012
Mesajlar
77
Excel Vers. ve Dili
2007 Türkçe
Arkadaşlar selamlar

a b c gibi basit yapıda bit tablom var ve hepsi veri dolu

a sütunu örneğin 10. satırda 30 sayısı var bu değişince b ve c de ilgili satırda formülü nasıl tetikletebilirim

b ve c de şu var =hesapla(a10)

yani 10. satr örnek herhangi sıradaki bir değerde değişebilir.

teşekkürler
 
"hesapla(a10)" şeklinde kullanılan formül mü? "hesapla" diye bir fonksiyon yok, kullanıcı tanımlı bir fonksiyon mu?

Örneğinizi gerçek sorunuzla açıklarsanız, ve Örnek dosyanızı, GOOGLE DRIVE, YANDEX DISK, DOCYA.TC ,DOSYA.CO gibi dosya paylaşım sitelerine ekleyip linkini burada bildirirseniz yardım almanız daha kolay olur.
 
hesapla kullanıcı tanımlı bir fonksiyon onun yerine basit bir çarpma fonksiyonuda olabilirdi. amaç hücre değeri değiştiğinde diğer fonksiyondaki sonucunda buna binaen değişmesi.

yada şöyle sorayım en basit haliyle ben formülü yazıp kulakçığı aşağı çekmek istemiyorum a sütununda ilgili satıra hangi değeri girersem b sütunundaki o değer değişmesini istiyorum.
 
deneye deneye yaptım fakat aralik formülü tetiklenmiyor nasıl yapabilirim.

Kod:
Public Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    ' The variable KeyCells contains the cells that will
    ' cause an alert when they are changed.
    Set KeyCells = Range("C1:C50000")
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then
        
        ActiveSheet.Range(Target.Address).Offset(0, 1).Value = aralik(Target.Address)
       
    End If
End Sub
 
Merhaba,

Kullanıcı tanımlı fonksiyonunuza aşağıdaki satırı ekleyip deneyin.

Kod:
Application.Volatile True

Not: Hesaplama seçeneğiniz "Elle" ayarlı ise bunu da "Otomatik" olarak ayarlamanız fayda sağlayabilir.
 
Public Function aralik(agaccap)

altına ekleyince formülü bozuyor çalıştırmıyor fakat..
 
NORMALDA VBA ya girmeden excel formül satırında =aralik(B5) deyince kullanıcı tanımlı fonksiyonum çalışıyor fakat onu alıp kod eklediğimde çalışmıyor ne eksik yapıyorum.

ActiveSheet.Range(Target.Address).Offset(0, 1).Value = aralik(Target.Address)
 
Worksheet_Change değil de Worksheet_SelectionChange olayına yazıp deneyin..
 
Murat bey teşekkürler uğraştım yaptım herşey istediğim gibi fakat sormak istediğim bir soru var buna binaen.

kodum şu şekilde

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, [C2:C65536]) Is Nothing Then
 On Error Resume Next
 Target.Offset(0, 1).Value = aralik(Target.Value)
 Target.Offset(0, 2).Value = cap_kademe(Target.Value)
 Exit Sub
End If

End Sub

çok stabil çalışıyor tek tek veri girişinde problem yok fakat 2 sütunlu bir listeyi kopyaladığımda ve yapıştırdığımda formül tetiklenmiyor.

araştırmalarım sonucu çözümler buldum fakfat sonuç alamadım.

Kod:
Application.EnableEvents = False

kullan diyorlar fakat beceremedim.
 
Daha önce de söyledim; dosya olmadan istediğiniz yardımlarda, istediğiniz tam sonuca ulaşamazsınız.
Sadece bu konu ile alâkalı söylemiyorum. Sayfada ne yaptığınızı, ne gibi işlemler yaptığınızı bilmeden sunulan çözümler havada kalır, uzar gider.
 
Sütun bazında işlemler için döngü kullanmanız gerekiyor. Kullandığınız kod hücre odaklı çalışmaktadır. Hücre sayısı birden fazla ise koşulu ile döngüyü devreye almanız gerekiyor.

Bunun içinde örnek dosya eklerseniz Murat beyin belirttiği gibi hızlıca çözüme gidilebilir.
 
yardımcı olabilecek arkadaşımız varmıır acaba?
 
Geri
Üst