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

VB-Makro berechnet nicht automatisch

VB-Makro berechnet nicht automatisch
04.03.2003 09:22:43
Frank Hassani
Hallo,
... mein VB-Makro wird nicht automatisch berechnet, obwohl die Berechnung in Extras/Optionen/Berechnung auf automatisch steht.

Allerdings passiert das nur, wenn ich 2 Fenster für die Arbeitsmappe, die verschiedene Arbeitsblätter hat geöffnet habe ...

und zwar dann, wenn ich in einem anderen Arbeitsbaltt als jenes, für das das VB-Makro eingerichtet ist, ...

eine Variable ändere, auf die sich auch das VB-Makro des anderen Arbeitsblattes zu neziehen hätte und seine Berechnung aktualisieren müsste.


Hier hilft noch nicht einmal "F9", sondern ich muss in das VB-Arbeitsblatt mit VB-Makro und dort mit "Entfernen" auf der Zelle, die vom VB-Makro beschrieben wird, Excel dazu bewegen, das VB-Makro neu auszuführen.

Hat das was damit zu tun, dass das VB-Makro nur für das entsprechende Arbeitsblatt definiert ist ?

Bzw. wie mache ich das, das bei jeder Änderung, auch in einem anderen Arbeitsblatt der Arbeitsmappe, auch die VB-Makros in anderen Arbeitsblättern neu berechnet werden ?


Hier das VB-Makro, das ich benutze :

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
Dim letzte As Integer
If [d2000] = "" Then
letzte = [d2000].End(xlUp).Row
Else
letzte = 2000
End If
Cells(4, 1) = Cells(letzte, 3).Offset(0, -2)
Cells(4, 2) = Cells(letzte, 3).Offset(0, -1)
Application.EnableEvents = True
End Sub

Gruß,
Frank

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

Betreff
Datum
Anwender
Anzeige
Re: VB-Makro berechnet nicht automatisch
04.03.2003 09:49:13
Ramses

Hallo Frank,

Die Makros werden nur ausgeführt, wenn im jeweiligen Blatt etwas geändert wird, wenn sich Werte aus Remotebezügen ändern tritt das Ereignis nicht ein.
Das Ausführen aller Makros ist ein unverhältnismässiger Aufwand.

Du brauchst effektiv zwei Werte.
Schreibe dafür eine benutzerdefinierte Funktion und das geht dann wirklich automatisch:

Hier ein Beispiel für die Offset(0,-2)

Function LetzteLi()
Application.Volatile
Dim letzte As Integer
If [d2000] = "" Then
letzte = [d2000].End(xlUp).Row
Else
letzte = 2000
End If
Debug.Print letzte
LetzteLi = Cells(letzte, 3).Offset(0, -2)
End Function

Den Wert kannst du dann in jedem Arbeitsblatt in der Zelle aufrufen mit

=LetzteLi()

Äquivalent für den Offset(0,-1)

Function LetzteRe()
Dim letzte As Integer
Application.Volatile
If [d2000] = "" Then
letzte = [d2000].End(xlUp).Row
Else
letzte = 2000
End If
Debug.Print letzte
LetzteRe = Cells(letzte, 3).Offset(0, -1)
End Function

Gruss Rainer

Anzeige
Re: VB-Makro berechnet nicht automatisch
04.03.2003 13:25:09
Frank Hassani

Hallo Rainer,

Danke für Dein Reply. Hab's gleich mal ausprobiert, aber verstehe noch nicht so richtig wie es funktionieren soll. Ich habe es in einer eigenen VB-Funktion.xls Arbeitsmappe mal implementiert die Du anklicken und downloaden kannst.
Wäre nett, wenn Du mir kurz zeigen kannst, wie ich mit der Funktion die Werte auslesen kann.

Gruß,
Frank

Re: VB-Makro berechnet nicht automatisch
04.03.2003 15:18:46
Ramses

Hallo Frank,

alles richtig,.. aber die Funktion muss in ein eigenes VBA-Modul deiner Arbeitsmappe :-))
VB-Editor starten
Klick auf Funktion.xls
Rechte Maustaste
Einfügen - Modul

Und den ganzen Code da rein kopieren.
Dann tut es :-))

Gruss Rainer

Anzeige
Re: VB-Makro berechnet nicht automatisch
04.03.2003 23:01:56
Frank Hassani

Hallo Rainer,

habe die Funktion in ein Modul gepackt u. es hat sich erst mal entsprechend ausgewirkt. Allerdings wenn ich in der Beispielarbeitsmappe auf dem 2ten Arbeitsblatt die zur Berechnung mitverwendeten Variable ändere, habe ich das Problem, dass im 1sten Arbeitsblatt in den Zellen mit der eingefügten Funktion das Wort „Variable“ erscheint und die Berechnung von „Resultat“ #WERT zurückgibt.

Auch die Funktion selber schaut bisher noch nur auf den, parallell zum letzten Eintrag der Spalte D, stehenden Wert in der Spalte A. Es müsste aber jeweils auf den Parallelleintrag in der Spalte geschaut werden, in der die Funktion verwendet wird.

Hier nochmal der Link zur VB-Funktion.xls.

Gruß,
Frank





Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige