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

kein Change-Event trotz Änderung

kein Change-Event trotz Änderung
20.09.2005 16:25:58
Matthias
Ich möchte den User in einer Zelle aus einer Liste von Werten auswählen lassen. Dazu habe ich im Popup "Gültigkeit" (Menü Daten) die Option "Liste" gewählt und als Quelle "=Wertliste" (Wertliste ist ein benannter Bereich auf einem anderen Tabellenblatt). Ich möchte nun bei Auswahl eines bestimmten Wertes auf spezielle Weise reagieren. Dazu wollte ich das Change-Event nutzen. Dieses wird aber nur aufgerufen, wenn ich den Wert über die Tastatur eingebe. Bei Auswahl mit der Maus gibt es kein Change-Event.
Meine Differentialdiagnose hat folgendes ergeben: Wenn als Quelle eine Wertliste angegeben ist (z.B. 'ja;nein;weiß nicht') funktioniert es tadellos. Sobald die Quelle aber eine Formel enthält (z.B. '=C3:C5' oder '=INDIREKT("Tabelle2!B3:F3")') tritt das Problem auf. In Excel 2002 funktioniert das (ist also ein Fehler im 97er)
Da ich leider mit 97er-Usern rechnen muss: Kann mir jemand Tipps geben, wie das zu umgehen ist?
P.S.:Der einzige Trick, mit dem ich in VBA überhaupt etwas von der Änderung mitbekomme: wenn in einer beliebigen Zelle eine Formel mit Bezug auf die betroffene Zelle steht, erhalte ich bei Änderung ein Calculate-Event (Excel kriegt also mit, dass da jetzt was anderes drinsteht), das aber keinen Target mitliefert (und wenn, wär's der falsche). Wenn ich die aktive Zelle als geändert annehme, stimmt das bei Auswahl mit der Maus. Wurde das Feld aber über die Tastatur verändert und verlassen, kommt natürlich auch zuerst das Calculate-Event, zu diesem Zeitpunkt ist aber bereits eine andere Zelle aktiv. Das darauf folgende Change-Event enthält zwar den korrekten Target, ich müsste aber dann entweder auf das Calculate (bei Mausbedienung) oder auf das Change-Event (bei Tastatureingabe) reagieren und weiß nicht, wie ich das Unterscheiden kann

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kein Change-Event trotz Änderung
20.09.2005 16:32:26
Rene
Versuche es indem du beim reinklicken in eine zelle (Selction Change) die daten Row und Colum einfängst und dann kannst du in beiden events mit diesen Daten arbeiten... sozusagen abfangen in welcher zelle sich der focus gerade befindet
lg René
AW: kein Change-Event trotz Änderung
20.09.2005 17:24:27
Matthias
Vielen Dank Euch Namensvettern (mit 2. Vornamen heiße ich nach meinem Taufpaten René)
Ich werde Renés Idee umsetzen. Da ich alle Zellen einer Spalte gleich behandeln muss, kommt die andere Lösung nicht in Frage.
AW: kein Change-Event trotz Änderung
20.09.2005 16:52:17
Matthias
Hallo Matthias,
in ein allgemeines Modul:

Public A3

in "DieseArbeitsmappe":

Private Sub Workbook_Open()
A3 = ThisWorkbook.Sheets("Tabelle1").Range("A3")
End Sub

ins Tabellenblattmodul:

Private Sub Worksheet_Calculate()
If A3 <> Range("A3") Then
A3 = Range("A3")
MsgBox "A3 neu!"
End If
End Sub

Du musst aber, wie du schon geschrieben hast, eine Formel im Blatt haben, die A3 als Bezug beinhaltet.
Ganz schöner Aufwand für die Excel-97-Anwender... Den Bug kannte ich gar nicht.
Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige