Kullanıcı tanımlı fonksiyon değişiklikleri hesaplamıyor

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar;

Kullanıcı tanımlı fonksiyon neden değişiklikleri otomatik hesaplamıyor olabilir. Diğer fonksiyonlarda bir sıkıntı yok.

Belirtilen sayfa' ve sütundaki sütundaki hücreler içinde ";" aralıklarında yer alan alan ifadeleri sayma işlemi yaptırmaya çalıştırm.

Bu fonksiyon konusunda katkısı olan arkadaşlar olursa şimdiden teşekkürler...

Function Parca_Say(Ara As String, Sayfa As String)
Dim g as string
Dim son As Integer
Dim i, j, k As Integer

son = Worksheets(Sayfa).Range("E65536").End(xlUp).Row
k = 0
For j = 1 To son
g = Worksheets(Sayfa).Range("E" & j).Value

parca = Split(g, ";")

For i = 0 To UBound(parca)
tip = parca(i)
If LCase(tip) Like "*" & LCase(Ara) & "*" Then k = k + 1
Next i
Next j

Parca_Say = k
atla:
End Function
 
Katılım
3 Mart 2005
Mesajlar
571
Excel Vers. ve Dili
Excel 2000 Ing.
Kullanıcı tanımlı fonksiyon neden değişiklikleri otomatik hesaplamıyor olabilir.
Kullanıcı tanımlı fonksiyonlarda giren değerlerden biri değiştiğinde işlem tetikleniyor ve foksiyon çalışıyor.
Aslında bu bence iyi, Çok kapsamlı bir fonksiyonunuz olsa her işlemde sizi dakikalarca bekletecektir.

Tanımladığınız fonksiyonu hesplatmak isterseniz giren değerlerden birini yenileyin,
bu şekilde hesaplatın.
Ben öyle yapıyorum. Zamandan kazanıyorum.

Bence böyle daha kullanışlı..
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce
Teşekkürler,

Sıkıntının nedenini şimdi anladım.

Kullanıcı tanımlı fonksiyonlarda giren değerlerden biri değiştiğinde işlem tetikleniyor ve foksiyon çalışıyor.
Function Parca_Say(Ara As String, Sayfa As String)
Aslında bu fonksiyona "Aranacak alan" diye 3. bir değer daha girmem gerekiyordu.

Örn: Range("E2:E255") gibi...

bunu yapamadığım için bu yüzden burayı sabitlemiştim.

g = Worksheets(Sayfa).Range("E" & j).Value
bunu nasıl aşabilirim.

İyi Çalışmalar.
 
Üst