Anzeige
Archiv - Navigation
1956to1960
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

Private Sub

Private Sub
19.12.2023 10:02:03
Sandra
Hallo Zusammen,

ich hoffe Ihr könnt mir mal wieder helfen.

In meiner Arbeitsmappe habe ich eine Tabellenblatt mit dem Namen "Input". Hier habe ich zwei Private Sub verknüpft:
1) Private Sub Worksheet_Change(ByVal Target As Range)
2)Private Sub Worksheet_Calculate()

Für dieses Tabellenblatt funktioniert hier auch alles wunderbar.
Jetzt ist mir aufgefallen, dass bei der Bearbeitung eines zweiten Tabellenblattes "GH_MS_h" (hier läuft eine Berechnung übe eine Schleife ab) auf das "Private Sub Worksheet_Calculate()" zugegriffen wird, obwohl die in keiner Verbindung stehen.
Dies ist das Makro für die Schleife:

Sub Schleife()

Range("I26").Select
ActiveCell.FormulaR1C1 = 5

Range("I26").Select
Do Until [Q6] [I22]
[I26] = [I26] + 2
Loop
[I26] = [I26] - 2

Range("H16").Select
End Sub



Ich hab auch schon versucht, in dem Makro das Tabellenblatt "GH_MS_h" als Activesheet zu selektieren, aber dennoch wird das Private Sub von der Input-Seite angestoßen.

Weiß evtl. jemand wie das passiert?
Danke schonmal für eure Hilfe.
VG
Sandra

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

Betreff
Datum
Anwender
Anzeige
AW: Private Sub
19.12.2023 10:39:34
Yal
Hallo Sandra,

im normalen Fall wird die Neuberechnung für die ganze Mappe angestoßen, was dazu führt, dass jedes Worksheet_Calculate angesprochen wird, auch wenn nichts auf dem Blatt neuberechnet werden muss, da grundsätzlich geprüft wird: gibt es hier was zu neuberechnen.

Du kannst das Kalkulationsmodus auf manuell umschalten und ein Blatt mit Shift+F9 neuberechnen. Dann sollte nur das _Calculate-Ereignis des Blattes reagieren.

VG
Yal
AW: Private Sub
19.12.2023 10:39:48
onur
Worksheet_Change und Worksheet_Calculate kannst du nicht selber hinzufügen, sie existieren von Anfang an (jedes Blatt hat eigene) und werden automatisch aufgerufen, sobald auf dem jeweiligen Blatt was verändert bzw berechnet wird. Nur normalerweise steht da nix drin und du merkst das nicht einmal.
Sobald du sie aber benutzt (etwas hineinschreibst), wird dieser Code bei JEDER Änderung bzw Berechnung auf dem Blatt aufgrerufen.
Wenn das Calculate-Ereignis des einen Blattes aufgerufen wird, wenn was auf einem anderem Blatt was verändert wird, liegt es daran, dass das erste Blatt irgendwie (Formeln) mit dem zweiten Blatt verknüpft ist und dadurch die Werte auf dem ersten Blatt neu berechnet mussten.
Anzeige
AW: Private Sub
19.12.2023 10:50:29
Sandra
Hallo an Euch Beide,
danke für die Erläuterung.
Also verstehe ich es richtig, dass wenn ich auf dem Tabellenblatt "GH_MS_h" Zuweisungen in Zellen von der "Input"-Tabellenblatt habe, wird automatisch, das Private Sub Calculate vom letzteren Blatt (Input) aufgerufen?!

Vielen Dank nochmal und schonmal schöne Weihnachten an Euch.

VG
Sandra
AW: Private Sub
19.12.2023 10:52:45
onur
Sobald irgend ein Wert auf Blatt 1 sich ändern würde, wenn du auf Blatt 2 was veränderst, wird Calculate ausgelöst, damit das auch passieren kann.
AW: Private Sub
19.12.2023 10:56:22
Sandra
ok,.. verstanden.

Danke nochmal...

Gerne !
19.12.2023 10:57:51
onur

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige