OnChange-Ereignis bei Zellen?

LunaSun

Mitglied
hallo!

ich hab n prob:
wenn eine bestimmte zelle verändert wird (nur von wert her, nicht wenn sie verschoben wird) soll ewas mit dem wert in der zelle passieren. dazu bräuchte ich so ein onchange-ereignis. gibt es sowas bei zellen oder gibts da ne andere möglichkeit bei zukommen? mit Workbook_SheetChange hab ichs schon versucht, des nützt mir aber nichts, weil ich brauch ausschließlich EINE zelle.

grüsse
luna
 
Dann nimm das doch :)

Wenn du eine bestimmte Zelle überwachen willst, dann deklarier doch eine
Variable und setzt die auf den Wert der Zelle.

Und dann prüfe im Workbook_SheetChange ob sich der Wert der Zelle von dem in der Variablen unterscheidet, wenn ja wurde die Zelle geändert. Dann aktualisierst
du die Variable und führst den Rest vom Code aus, was immer du machen willst.

also z.B:
Code:
Dim wert

Private Sub Worksheet_Activate()
    wert = Me.Cells(1, 1)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Me.Cells(1, 1) <> wert Then
        wert = Me.Cells(1, 1)
        MsgBox "Zelle wurde geändert"
        'und sonstigen Code
    End If
End Sub
 
danke für die schnelle antwort, aber sie hilft mir leider nicht weiter. ich hatte auch schon daran gedacht den wert woanders zusätzlich zu speichern und dann zu vergleichen.
das dumme ist, der wert der zelle bleibt nicht immer gleich. er wird vom user geändert, das funktioniert auch. nur wenn eines meiner makros die zelle (deren wert ich brauch) verschiebt findet "SheetChange" die zelle nicht mehr und bringt "typen unvereinbar".
 
Du kannst beim Aufruf von Cells(1,1) die feste Position 1 auch durch eine Variable ersetzten und entsprechend füllen wenn dein Makro eine Zelle verschiebt, dann sollte mein nächsten Aufruf wieder die richtigen Koordinaten verwendet werden.

Eine andere Idee wäre der Zelle einen Namen zu geben und sie darüber anzusprechen, dann wäre die Position egal.
 
Zurück