Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Funktion aktualisiert sich nicht automatisch

Funktion aktualisiert sich nicht automatisch
22.10.2008 12:23:00
Bernd
Ich habe hier die folgende Funktion, welche mir eine Formel aus einer Zelle als Zahlen darstellt. Also aus =E20*E20 wird z.B. "5*5" ausgegeben.

Option Explicit
Option Compare Text
'(c)1999 Andreas Kirschbaum
Const TrennZ = "-+/*^()"
Const ZahlZ = "-.,0123456789"
Const HochZ = "0123"
Const Hoch2Z = "º¹²³"
Function FORMELTEXT(Bereich, Aktuell As String) As String
Dim Art As Integer, i As Integer, j As Integer, k As Integer, n As Integer
Dim BezAnf As Integer
Dim tI As String, tA As String, c As String * 1, buf As String * 256, tF As String
On Error Resume Next
tI = Bereich.FormulaLocal
If Left(tI, 1) = "=" Then
tA = ""
Art = 0                                   ' 0: Operand erwartet
n = Len(tI)
For i = 2 To n + 1
If i > n Then
c = ""
k = 1
Else
c = Mid(tI, i, 1)
k = InStr(TrennZ, c)
End If
If k = 0 Then
k = InStr(ZahlZ, c)
If k = 0 Then
If Art = 0 Then
Art = 2                           ' 2: Bezug oder Funktion
BezAnf = i
End If
Else
If Art  0 And (i + 1 = n Or InStr(TrennZ, Mid(tI, i + 2, 1)) > 0) Then
c = Mid(Hoch2Z, j, 1)
i = i + 1
End If
End Select
tA = tA & c
Art = 0                               ' 0: Operand erwartet
End If
Next
n = Len(tA)
buf = tA
FORMELTEXT = Left(tA, n)
Else
FORMELTEXT = ""
End If
End Function


Allerdings aktualisiert sich diese Funktion nicht automatisch, wenn man einen Wert ändert und ich finde den Fehler einfach nicht.
Ich hatte es auch schon mit einem Application.Volatile am Funktionsanfang versucht, was grundsätzlich geht. Allerdings habe ich dann das Problem, wenn ich die Funktion in einem Arbeitsblatt A aufrufe, werden die Werte in Arbeitsblatt B wieder gelöscht und es stehen keine Zahlen mehr da. In obigem Beispiel würde dann nur noch "*" erscheinen.
Wäre nett, wenn mir jemand sagen könnte, was ich da ändern muss. Gefunden habe ich leider außer diesem Volatile keine weiteren Lösungsansätze, wobei dieses eben auch nicht wirklich optimal ist.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktion aktualisiert sich nicht automatisch
22.10.2008 13:05:00
Rudi
Hallo,
das ist der Nachteil an UDF
Gruß
Rudi
AW: Funktion aktualisiert sich nicht automatisch
22.10.2008 13:08:31
Bernd
Das heißt, ich muss damit leben?
AW: Funktion aktualisiert sich nicht automatisch
22.10.2008 14:30:00
Jürgen
Hallo Bernd,
nein, denn eigentlich sollte auch die UDF neu berechnet werden.
Ich habe den von Dir eingestellten Code ausprobiert, erhalte aber nur ein unsinniges Ergebnis: in Zelle D2 steht die Formel "=B2*B3", in E2 "=Formeltext(d2)" und als Ergebnis erhalte ich in E2 "Ge0eral·Ge0eral " (Hinweis: Da der Paramater "Aktuell" im Code der Funktion nicht verwendet wird, habe ich ihn bei meinem Test aus der Fuktionsdeklaration entfernt).
Gruß, Jürgen
AW: Funktion aktualisiert sich nicht automatisch
22.10.2008 16:38:00
Bernd
Du musst die zwei Felder B2 und B3 jeweils als Zahl formatieren, dann funktioniert es. Hatte das Problem am Anfang auch und wusste damit nix anzufangen.
Anzeige
AW: Funktion aktualisiert sich nicht automatisch
22.10.2008 23:19:28
Jürgen
Hallo Bernd,
ich habe B2 und B3 nun als Zahl formatiert, damit erhalte ich ein gescheites Ergebnis, das sich auch bei Änderungen in B2 und B3 automatisch aktualisiert, mit anderen Worten: bei mir funktioniert's.
Nur um sicher zu gehen: Du hast nicht die Neuberechnung auf "manuell" gestellt?
Gruß, Jürgen
AW: Funktion aktualisiert sich nicht automatisch
23.10.2008 07:20:00
Bernd
Ne, Berechnung ist hier definitiv auf Automatisch. Ich werde mal sehen, ob ich nachher eine Beispieldatei hochladen kann, bei der das Problem nachweisbar auftritt.

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige