Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
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
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktionen erst über Funktionsassistent errechnet

Funktionen erst über Funktionsassistent errechnet
11.11.2003 10:38:30
marla
Hi!

Ich habe in VBA einige funktionen erstellt, die ziemlich lang sind. Teilweise sind es verschachtelte IF-funktionen mit Schleifen drinnen. Das Problem ist, dass er im Excel es zwar errechnen kann, aber die Zahl erst hinschreibt, wenn man in den Funktionsassistent aufruft und dort mit "OK" bestätigt - erst dann wird gerechnet - vorher gibt er "#Wert" wieder. Hat jemand eine Idee, was das sein könnte - kennt dieses Problem jemand??? Die ganzen Funktionen hier hereinzustellen wäre viel zu viel deshalb bin ich über jeden Tipp dankbar!!!

lg marla

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Funktionen ? wo?
11.11.2003 10:42:01
Galenzo
Hallo,
ja - du hast das Problem richtig erkannt - ohne die Formel zu posten, wird dir hier wohl keiner richtig helfen können. So läßt sich halt nur mutmaßen....

mfg
AW: Funktionen ? wo?
11.11.2003 10:53:29
marla
Hier ist mal ein Beispiel - hoffe du fängst damit was an:


Function Kapitalisierung(RowX, ColumnX, Monat)
If Monat <> 12 Then Kapitalisierung= ""
If Monat = 12 Then
Kapitalisierung= Cells(RowX, ColumnX).Value
x = 1
Do Until x = 12
If Not IsNumeric(Cells(RowX, ColumnX - 1)) Or Cells(RowX, ColumnX - 1).Value = 0 Or IsNumeric(Cells(RowX + 1, ColumnX - 1)) Then Exit Do
Kapitalisierung= Kapitalisierung+ Cells(RowX, ColumnX - 1).Value
x = x + 1
ColumnX = ColumnX - 1
Loop
End If
If Cells(RowX, ColumnX).Value = 0 Then
Kapitalisierung= Cells(RowX, ColumnX).Value
x = 1
Do Until x = 12
If Not IsNumeric(Cells(RowX, ColumnX - 1)) Or Cells(RowX, ColumnX - 1).Value = 0 Or IsNumeric(Cells(RowX + 1, ColumnX - 1)) Then Exit Do
Kapitalisierung= Kapitalisierung+ Cells(RowX, ColumnX - 1).Value
x = x + 1
ColumnX = ColumnX - 1
Loop
End If
End Function

Anzeige
AW: Application.Volatile
11.11.2003 12:10:17
Galenzo
Hallo nochmal,
es liegt daran, daß die Funktion nicht automatisch neu berechnet wird,
wenn du andere Ausgangswerte eingibst.
Du mußt Excel also erst noch anweisen, daß die alle Ergebnisse deiner
selbstgeschriebenen Funktion "Kapitalisierung" aktualisiert werden sollen.
Dazu gibst du am Anfang deiner Funktion diese Anweisung ein:
Application.Volatile

Das war's schon - Viel Erfolg!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige