KTF UDF Evaluate Degerbic Fonksiyonu

Degerbic (Evaluate) fonksiyonun vb kodlari asagidaki gibidir;

Function EvalFormula(Formula, Optional x, Optional y, Optional z)
Dim f As String, VarValue As String
f = Formula
If Not IsMissing(x) Then
VarValue = "(" + Trim(Str(x)) + ")"
strSubstitute f, "x", VarValue
End If
If Not IsMissing(y) Then
VarValue = "(" + Trim(Str(y)) + ")"
strSubstitute f, "y", VarValue
End If
If Not IsMissing(z) Then
VarValue = "(" + Trim(Str(z)) + ")"
strSubstitute f, "z", VarValue
End If
EvalFormula = Application.Evaluate(f)
End Function

Private Sub strSubstitute(ByRef str1 As String, str2 As String, str3 As String)
Dim i As Long, s1 As String, s2 As String, L1 As Long, L2 As Long
str1 = " " & str1 & " "
L2 = Len(str2)
i = 0
Do
i = InStr(i + 1, str1, str2, vbTextCompare)
If i = 0 Then Exit Do
s1 = Mid(str1, i - 1, 1)
If Not IsLetter(s1) Then
s2 = Mid(str1, i + 1, 1)
If Not IsLetter(s2) Then
s1 = Left(str1, i - 1)
s2 = Right(str1, Len(str1) - i - L2 + 1)
str1 = s1 & str3 & s2
End If
End If
Loop
str1 = Trim(str1)
End Sub

Private Function IsLetter(ByVal char As String) As Boolean
Dim code As Long
code = Asc(char)
IsLetter = (65 <= code And code <= 90) Or (97 <= code And code <= 122) Or char = "_"
End Function

KTF UDF Evaluate Degerbic Fonksiyonu

Yazar: mmustafaaslan

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


4 + 9 =