• DİKKAT

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

Function işlemini hızlandırma mümkünmü?

Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Kod:
Function NetBrut(AY, Net, GUN, KGVM, OAGV)
'-------Tanımlamalar-------------
Gel_Ver_Tut1 = 8800
Gel_Ver_Tut2 = 22000
Gel_Ver_Tut3 = 76200
Gel_Ver_Tut4 = 500000000
Damga_Ver = 0.0066
SGK_İsci_Pay = 0.14
Sig_Mat1_Tab = 728
Sig_Mat2_Tab = 760.5
Sig_Mat1_Tav = 4738.5
Sig_Mat2_Tav = 4943.4
Brut1 = 0

'--------- Tanımlamaların Sonu-----------

bas:
'----------------------
If AY <= 6 Then
Sig_Tb = Sig_Mat1_Tab
Sig_Tv = Sig_Mat1_Tav
Else
Sig_Tb = Sig_Mat2_Tab
Sig_Tv = Sig_Mat2_Tav
End If
'-----------------------
If Brut1 < ((Sig_Tb / 30) * GUN) Then
SSK_Mat1 = ((Sig_Tb / 30) * GUN)
ElseIf Brut1 > ((Sig_Tv / 30) * GUN) Then
SSK_Mat1 = ((Sig_Tv / 30) * GUN)
Else
SSK_Mat1 = Brut1
End If
SSK_ic1 = SSK_Mat1 * SGK_İsci_Pay
İs_Sig1 = SSK_Mat1 / 100
İlk_Kes1 = SSK_ic1 + İs_Sig1
Gv_Mat1 = Brut1 - İlk_Kes1
K_Gv_Mat1 = Gv_Mat1 + KGVM

If K_Gv_Mat1 < (Gel_Ver_Tut1 + 0.01) Then
G_V1 = (K_Gv_Mat1 * 0.15)
ElseIf K_Gv_Mat1 < (Gel_Ver_Tut2 + 0.01) Then
G_V1 = ((Gel_Ver_Tut1 * 0.15) + ((K_Gv_Mat1 - Gel_Ver_Tut1) * 0.2))
ElseIf K_Gv_Mat1 < (Gel_Ver_Tut3 + 0.01) Then
G_V1 = ((Gel_Ver_Tut1 * 0.15) + ((Gel_Ver_Tut2 - Gel_Ver_Tut1) * 0.2) + ((K_Gv_Mat1 - Gel_Ver_Tut2) * 0.27))
ElseIf K_Gv_Mat1 < Gel_Ver_Tut4 Then
G_V1 = ((Gel_Ver_Tut1 * 0.15) + ((Gel_Ver_Tut2 - Gel_Ver_Tut1) * 0.2) + ((Gel_Ver_Tut3 - Gel_Ver_Tut2) * 0.27) + ((K_Gv_Mat1 - Gel_Ver_Tut3) * 0.35))
End If

D_V1 = Brut1 * Damga_Ver
Kes_Top1 = ((İlk_Kes1 + G_V1) - OAGV) + D_V1
NET1 = Brut1 - Kes_Top1

If Net > NET1 Then
Brut1 = Brut1 + 50
GoTo bas:
ElseIf NET1 > (Net + 0.05) Then
Brut1 = Brut1 - 0.01
GoTo bas:
ElseIf NET1 > (Net + 0.001) Then
Brut1 = Brut1 - 0.001
GoTo bas:
End If
NetBrut = Brut1
End Function



Ekteki Funtion excelde hesaplarken hesaplama süresi en fazla 5 saniye oluyor.

Fakat ben bunu userform uzerinde hesaplama yaptığım zaman süre uzuyor ve yanıt vermiyor hatası veriyor. yapmak istediğim user formda..


Textbox6.value= NetBrut(textboxt1.value,textboxt2.value,textboxt3.value, textboxt4.value, textboxt5.value)

şeklinde excel hücresi yerine txtboxlardan verileri alması bunu yapınca neden yavaşlar.

Bunu hızlandırmak için ne yapmam gerekir?


Şimdiden teşekkürler.
 
WorksheetFunction.NetBrut

olarak deneyin. yanılmıyorsam ktf'nin aynı dosyada olması lazım.
 
merhaba.

aradan zaman geçince gözden kaçmış. bir de değişken atayarak deneyebilir misiniz?


Kod:
dim net_brut

net_brut = NetBrut(textboxt1.value,textboxt2.value,textboxt3. value, textboxt4.value, textboxt5.value)

Textbox6.value = net_brut
 
Geri
Üst