Bei Eingabe in Zelle A1 soll ein Makro die Eingabe abfangen, den
eingegebenen Wert mit 100 multiplizieren und das Ergebnis wieder in Zelle A1
ausgeben.
z.B.: bei Eingabe von "2" in Zelle A1 soll nach Bestätigung der Eingabe
automatisch "200" in der Zelle stehen. Ich habe das Ganze zu realisieren
versucht, indem ich folgendes MAkro geaschrieben habe:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Target.Value = Target.Value * 100
End If
End Sub
Dabei rechnet das Makro eine unendlich große Zahl aus und endet mit einem
Überlauffehler. Wenn ich das alles richtig verstanden habe, liegt das daran,
daß das Worksheet_Change-Makro wiederum das Change-Ereignis auslöst. Stimmt
das? Und wie kann ich das verhindern? Gibt es vielleicht eine andere
Möglichkeit als mit dem Change-Ereignis zu arbeiten? Für Hilfen bei der
Lösung des Problems wäre ich mehr als dankbar!
Viele Grüße
Thomas Bauernfeind
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$1" Then _
Target.Value = Target.Value * 100
Application.EnableEvents = True
End Sub
MfG Ullrich
Thomas Bauernfeind <baue...@stud.uni-frankfurt.de> schrieb in im
Newsbeitrag: 38ce...@nntp.server.uni-frankfurt.de...
probiere folgendes:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Application.EnableEvents = False
If Target.Address = "$A$1" Then
Target.Value = Target.Value * 100
End If
Application.EnableEvents = True
End Sub
Dadurch wird das Ereignis nicht wieder durch das Ereignis aufgerufen.
Gruß
Werner
Thomas Bauernfeind schrieb in Nachricht
<38ce...@nntp.server.uni-frankfurt.de>...
Viele Grüße
Thomas Bauernfeind