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

VBA Formel aktualisieren (bei Globaler Variable)

VBA Formel aktualisieren (bei Globaler Variable)
20.02.2004 12:35:23
Benjamin Keck
Hallo Allerseits,
für Euch ist es wahrscheinlich ein Leichtes.
Ich hab das Problem schon reduziert auf folgende Aufgabe.
Ich habe drei Funktionen in VBA
'Variablen
Global A,B as integer

Private Function SetA(myA as integer)
A=myA
SetA = "A gesetzt"
End Function


Private Function SetB(myB as integer)
B=myB
SetB = "B gesetzt"
End Function


Private Function SummeAB() as integer
SummeAB=A+B
End Function

So, wenn man nun setze ich A in einer Zelle mit =SetA(3) auf 3 setzt und B
in einer anderen Zelle mit =SetB(2) auf 2.
In meiner Ergebnis Zelle ruf ich =SummeAB() auf und erhalte 5
Ändere ich nun aber =SetB(2) in =SetB(3) ab, bleibt das Ergebnis von =SummeAB()
gleich. Wenn ich die Zelle mit F2 editiere und dann einfach Enter drück, dann steht das richtige Ergebnis drin.
Warum wird das Ergebnis der Function nicht automatisch aktualisiert und wie kann
ich das ergebnis automatisch aktualisieren lassen.
Herzlichen Dank
Mit freundlichem Gruß
Benjamin Keck

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Formel aktualisieren (bei Globaler Variable)
20.02.2004 12:42:26
Alex K.
Hallo Benjamin,
das Problem ist, dass Excel keinen Bezug zwischen den Zellen mit deinen eigenen Funktionen herstellen kann. Da zwischen den Zelle keine Abhängigkeiten bestehen, so sieht Excel keine Notwendigkeit, das Blatt neu zu berechen.
Du kannst eine Berechnung manuell über
ActiveSheet.Calculate
auslösen.
Also

Private Function SetB(myB as integer)
B=myB
SetB = "B gesetzt"
ActiveSheet.Calculate
End Function

AW: VBA Formel aktualisieren (bei Globaler Variable)
20.02.2004 12:51:31
Benjamin Keck
ActiveSheet.Calculate Funktion hab ich schon in der Hilfe gefunden. Auch die F9 Taste.
Allerdings gehts auch so nicht!
'Variablen
Global A, B As Integer

Private Function SetA(myA As Integer)
A = myA
SetA = "A gesetzt"
ActiveSheet.Calculate
End Function


Private Function SetB(myB As Integer)
B = myB
SetB = "B gesetzt"
ActiveSheet.Calculate
End Function


Private Function SummeAB() As Integer
SummeAB = A + B
End Function

Anzeige
AW: VBA Formel aktualisieren (bei Globaler Variable)
20.02.2004 13:06:36
Alex K.
Hallo Benjamin,
da hilt nur die Holzhammermethode. Also direkt aus den Set-Funktionen am Schluss "SummeAB()" aufrufen!
Besser wäre es, du änderst den Wert nicht direkt in der Formel, sondern nimmst Bezug auf eine Zelle:
=SetA(A1)
=SetB(A2)
Nun müßte bei Änderung der Zellen A1 bzw. A2 die Formel berechnet werden.
Falls das auch nicht klappt, dann berechnet Excel nur Zellen, welchen Parameter haben, die sich ändern können. Da "SummeAB" keinen Parameter hat, der sich geändert hat, wird diese dann auch nicht neu berechnet. Weiss aber nicht genaue, ob ich mit meiner Vermutung richtig liege. Teste einfach mal, der SummeAB eine Wert aus einer Zelle zu übergeben.
=SummeAB(A1)
Musst natürlich dann deine Funktion SummeAB anpassen.
Anzeige

23 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige