Hallo Leute,
Habe mir aus einem vorhanden Programm eine Funktion rausgeholt, welche
unter VB.NET ohne Problem läuft.
Unter VBA in Excel funktioniert es nicht :-(
Folgenden Code in ein Modul verfrachet.
Konnte Ihn auch schon ausführen.
Aber: #WERT!
1 | Public Function GetLogoAbs(ByVal F As Long, ByVal t As Long) As Double
|
2 | GetLogoAbs = 0
|
3 | Dim B070 As Integer
|
4 | Dim B062 As Integer
|
5 |
|
6 | Dim B071 As Integer
|
7 | Dim B072 As Integer
|
8 | Dim B073 As Integer
|
9 | Dim B074 As Integer
|
10 | Dim B075 As Integer
|
11 | Dim B076 As Integer
|
12 | Dim B077 As Integer
|
13 | Dim B078 As Integer
|
14 | Dim B079 As Integer
|
15 | Dim B080 As Integer
|
16 | Dim B081 As Integer
|
17 | Dim B082 As Integer
|
18 |
|
19 | B070 = Int(t * 10)
|
20 | B062 = Int(F * 10)
|
21 |
|
22 | B071 = ((B070 * 32443) / 970) + 4849
|
23 | B072 = ((B070 * B070) * 3233) / -31970
|
24 | B073 = B071 - B072
|
25 | B074 = (B070 * B070) / 10
|
26 | B075 = (B070 * B070) / 120
|
27 | B076 = ((B074 * B070) * 45) / 26020
|
28 | B077 = ((B075 * B075) * 26) / -10090
|
29 | B078 = B076 - B077
|
30 | B079 = B073 + B078
|
31 | B080 = B070 / 20
|
32 | B081 = B079 + (B080 * (362 / 32000))
|
33 | B082 = (B081 * B062) / 1000
|
34 |
|
35 | GetLogoAbs = B082 / 1000
|
36 | GetLogoAbs = FormatNumber(GetLogoAbs, 1)
|
37 | End Function
|
Ich weiss, die Funktion ist nicht das gelbe vom Ei.
Aber das wurde mal aus einer SPS Steuerung extrahiert.
Woran könnte es liegen?