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

Automatische Tabellen-Aktualisierung mit VBA

Automatische Tabellen-Aktualisierung mit VBA
08.08.2006 14:39:52
Günther
hy,
hab zwar schonmal gepostet aber leider funktionierts noch immer nicht...
Hab ein Makro geschrieben das folgende Funktionalität aufweist:
ein bestimmter Zellbereich wird solange durchlaufen, bis die Summe der Zellinhalte den Wert aus Zelle C4 erreicht hat. Dannach wird der Wert aus der Zelle mit den Anzahl der durchlaufenen Schleifen (= jahre) multipliziert und durch den Vergleichswert aus C4 dividiert.
Das funktioniert alles recht gut, nur wenn ich dann in der Tabelle einen Eingabewert zur Berechnung ändere, ändert sich nix am Endergebnis. Nur wenn ich das Makro wieder händisch im Editor ,aktiviere aktualisiert sich auch das Ergebnis. Was kann ich machen, dass sich das Ergebnis laufend (bei jeder Änderung eines Zellenwerts) automatisch aktualisiert?
Nachdem meine VBA-Kenntnisse sehr begrenzt sind bitte, wenn möglich, meinen code ergänzen..
Schönen Dank schon im voraus!!!
Gümther

Sub Schleife()
Dim wert As Double
Dim jahre As Double
Dim dauer As Double
jahre = 1
Range("N9").Select
wert = Range("N9").Value
Do While wert < Range("C4").Value
ActiveCell.Offset(1, 0).Activate
wert = wert + ActiveCell.Value
jahre = jahre + 1
Loop
dauer = Range("C4").Value * jahre
dauer = dauer / wert
Range("H4").Value = dauer
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Tabellen-Aktualisierung mit VBA
08.08.2006 14:49:37
u_
Hallo,
packe alles in eine Function.

Function Dauer(Anfang As Double)
Dim wert As Double
Dim jahre As Double
Application.Volatile
jahre = 1
wert = Range("N9").Value
Do While wert < Anfang
wert = wert + Range("n9").Offset(jahre, 0).Value
jahre = jahre + 1
Loop
Dauer = Anfang * jahre
Dauer = Dauer / wert
End Function

In H4 Schreibst du =Dauer(C4)
Gruß
Lesen gefährdet die Dummheit
AW: Automatische Tabellen-Aktualisierung mit VBA
08.08.2006 15:24:48
Günther
danke für die antwort.
wenn ich im Feld H4 =Dauer(c4) eingebe kommt #Name?
noch eine andere frage: die function liegt bei mir in Tabelle1 (Tabelle1). Wenn ich nur die Function da reintu und keine Sub ...() habe, dann erscheint, wenn ich das Makro im Editor ausführe eine Maske (Überschrift Makros). Da is dann aber nix vorhanden...
is das schon ok?
dankdir
Anzeige
AW: Automatische Tabellen-Aktualisierung mit VBA
08.08.2006 15:37:34
Hans
Hallo Günther,
Funktionen gehören nicht in die Klassen- sondern in Standardmodule.
gruss hans
AW: Automatische Tabellen-Aktualisierung mit VBA
08.08.2006 15:58:02
Günther
Funktioniert!!! :-))
vielen dank an hans und u!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige