Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1252to1256
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
Calculate auf Zellen begrenzen
Dietmar
Hallo und guten Abend,
zur Darstellung meines Problems folgender Code, mit dem ich erreiche, dass Range("E22") auf den Wert von Range("M4") reagiert.
Die Reaktion erfolgt hier logischerweise auch dann, wenn ich auf dem Tabellenblatt irgendwo anders eine
Änderung vornehme. Das soll aber nicht sein.
Wie muss ich den Code anpassen, so dass 'calculate' nur dann reagiert, wenn ich in M4 den Wert '2' erstelle.
Falls es von Bedeutung ist: Der Wert wird mittels Optionsbutton erzeugt.
Falls es 'by the way' möglich ist: Wenn der Wert 2 ist, soll in Range("E22") der Wert 1 erzeugt werden.
Private Sub Worksheet_Calculate()
On Error GoTo ErrExit
Application.EnableEvents = False
If Range("M4").Value = 2 Then
Range("E22").Value = 25
'MsgBox "E22 hat auf M4 reagiert", vbInformation, "Hinweis"
Else
End If
ErrExit:
Application.EnableEvents = True
End Sub
Vielen Dank vorab!
Dietmar aus Aachen

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

Betreff
Benutzer
Anzeige
AW: Calculate auf Zellen begrenzen
21.03.2012 00:21:26
Sheldon
Hallo Dietmar,
wie wärs statt Calculate mit dem Worksheet_Change Event? Da hast du eine Variable mit der betroffenen Zelle gleich dabei und kannst das somit gleich mit abfragen und nichts unternehmen, wenn eine andere Zelle geändert wurde als die, die dich interessiert.
Gruß
Sheldon
... kriege ich leider nicht hin ...
21.03.2012 00:38:36
Dietmar
Hallo Sheldon,
da reichen meine VBA-Kenntnisse leider nicht aus, um Deine Anregung umsetzen zu können.
Viele Grüße
Dietmar
AW: Calculate auf Zellen begrenzen
21.03.2012 00:58:59
Sheldon
Hallo Dietmar,
wie bist du denn darauf gekommen, mit Worksheet_Calculate() zu arbeiten? oben im Dropdown wählst du einen anderen Event aus, wie Worksheet_Change und arbeitest damit.
Du willst ja in diesem Fall keinen Code bei einer Berechnung ausführen, sondern immer wenn der Wert in Zelle M4 sich ändert. Das fragst du am besten im Event Worksheet_Change ab.
Gruß
Sheldon
Anzeige
soweit ok, aber nicht mit Optionsbuttons
21.03.2012 12:24:23
Dietmar
Hallo Sheldon,
danke für den Tipp.
Habe es jetzt so TEILWEISE gelöst. Das funktioniert , WENN ich die Werte in Range("M4) händisch eintrage.
E22 wird aber in meiner Datei mit Optionsbuttons bedient; leider ändert sich dann E22 NICHT.
_
Was mache ich noch falsch?
Viele Grüße
Dietmar aus Aachen
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = "$M$4" Then
If Range("M4").Value  2 Then
Range("E22").Value = 1
Else
Range("E22").Value = 25
End If
End If
End Sub
Viele Grüße
Dietmar aus Aachen
Anzeige
AW: soweit ok, aber nicht mit Optionsbuttons
21.03.2012 16:35:15
Hajo_Zi
Hallo Dietmar,,
hast Du mal einen Haltepunkt gesetzt? Wird Change ausgelöst? Falls Ja nur wenige sehen Deine Datei. Ich baue grundsätzlich keine Datei nach.

Optionbuttons... Salamitaktik, was?
21.03.2012 16:42:45
Sheldon
Hallo Dietmar,
dein Beitrag entwickelt sich zum Paradebeispiel für die Salamitaktik ;-) Das konnte ich nicht wissen, dass ein Optionbutton den Wert in der Zelle verändert. Aber in dem Fall kannst du ja umgekehrt vorgehen, nämlich wenn der Optionbutton sich ändert, kann er ja auch die Range("E22").value ändern. Dazu klickst du im Entwurf-Modus mit der re Maustaste auf den Optionbutton und wählst Code anzeigen. Nun wählst du im VBA-Editor den Event Change und fügst dort deinen Code ein. Jetzt sollte es funktionieren! Oder zauberst du noch eine bisher unbekannte Anforderung aus deinem Hut :-)
Gruß
Sheldon
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige