object_change Befehl

trollchen

Grünschnabel
Ich versuche vergebens einen _change Befehl zu definieren, der jedesmal die bestimmte Aktion ausführt, wenn sich der Wert in A1 ändert.

So habe ich es versucht:
Sub testers()

Dim wert As Double
wert = Range("A1").Value

End Sub


Private Sub wert_Change()
If wert.Value = "0" Then
Range("A3").Value = 1
Else

Range("A1").Copy
ActiveCell.PasteSpecial

End If
End Sub

Ich will quasi, dass jedesmal wenn sich der Wert in Zelle A1 ändert, es den Wert in die aktive Zelle schreibt. Ohne dass ich eben eine Tastenkombination drücken muss.

Ich lerne VB erst seit 2 Tagen, daher bin ich sehr unerfahren, hoffe es kann mir jemand weiterhelfen!
Danke schonmal.
 
Mal nur so eine Frage, wieso benutzt du nicht die Change-Prozedur des Tabellenblattes:
Visual Basic:
Private Sub Worksheet_Change(ByVal Target As Range)
 'Inhalt einer Zelle wurde geändert
 'Mit Target.Column und Target.Row kriegst du raus, welche Zelle es ist
 'Mit Target.Text kriegst du den Inhalt
End Sub


Der Doc!
 
Ja, das habe ich jetzt auch gemacht, allerdings muss ich das ja jetzt in jedes sheet eintragen, welches ich benutze.

Bzw. wenn jemand seine eigene Vorlage öffnet, muss er das in sein sheet reinschreiben damit es funktioniert. Oder gibts ne möglichkeit das global einzugeben?
 
Eine globale Eingabe ist normalerweise nicht möglich, du brauchst den Code ja nur in deiner Vorlage (daraus erstellte Dokumente verknüpfen ja immer die Vorlage).

Eine Möglichkeit wäre ein AddIn, dass den Code immer in neue Dokumente schreibt, ist aber so eine Sache, da das eventuell als Virus erkannt werden kann.


Der Doc!
 
Zurück