Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1296to1300
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

Worksheet_Calculate()

Worksheet_Calculate()
02.02.2013 14:01:48
Rolf
Hallo zusammen,
ich komme mit "

Private Sub Worksheet_Calculate()" nicht zurecht.
In Modul1 steht:
Sub bereits_bezahlt()
Sheets("T1").Activate
rr = ActiveCell.Row
If Cells(rr, 4) = "" Then
Cells(rr, 38) = 0
Else
Cells(rr, 38) = 1
End If
End Sub
In der 4. Zeile springt das Programm auf "

Private Sub Worksheet_Calculate()", das im Code von T1 steht - verständlich!
Aber warum wird auch "

Private Sub Worksheet_Calculate()" in T12 und T14 aufgerufen?
Lässt sich dieser Umweg unterbinden?
Gruß
Rolf

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

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Calculate()
02.02.2013 14:20:12
hary
Moin Rolf
Worksheet_Calculate spring bei jeder Formelneuberechnung an, egal ob in A1 oder sonstewo.
Das ist evtl. as falsche Ereigniss.
Was moechtest du erreichen?
gruss hary

AW: Worksheet_Calculate()
02.02.2013 14:42:06
Rolf
Hallo Hary,
In Modul 1:
Sub uhu()
Worksheets("Tabelle1").Activate
[b1] = [b1] + 1
End Sub
Sub eule()
Worksheets("Tabelle2").Activate
[b1] = [b1] + 1
End Sub
springt das Programm nur bei "uhu" auf "Calculate", das im Code von Tabelle1 steht, nicht bei "eule" - und umgekehrt.
Warum klappt es hier?
Zu deiner Frage:
Bei jeder Änderung in einem bestimmten Tabellenbereich(auf T1) muss der Inhalt einer Zelle (auch auf T1) geprüft werden, um dann entsprechend zu reagieren.
Ähnliches gilt auch für T14.
Gruß
Rolf

Anzeige
AW: Worksheet_Calculate()
02.02.2013 15:18:50
hary
Hallo Rolf
Was heisst : Bei jeder Aenderung? haendisch oder durch Formel? welchen Bereich ueerwachen?
Hier fuer haendischer Aenderung im Bereich A1:A1000
'---- Code in den Code des Tabellenblattes
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rr As Long
If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then 'hier wird haendischer Eintrag im  _
Bereich ueberwacht
call Uhu
End If
End Sub

gruss hary

AW: Worksheet_Calculate()
02.02.2013 15:31:26
Rolf
Hallo Hary,
erstmal Dank für deine Mühe.
Die Einträge sind per Hand in die Tabelle.
Dein Vorschlag gefällt mir, da ich ohne "calculate" auskäme.
Ich werde ihn mal einbauen und ausprobieren - das geht aber nicht so schnell.
Gruß
Rolf
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige