Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA: Wert bei Eingabe mit 100 multiplizieren

435 views
Skip to first unread message

Thomas Bauernfeind

unread,
Mar 14, 2000, 3:00:00 AM3/14/00
to
Liebe NG,
ich bin zwar kein Programmierspezialist, aber ich bin dabei, VBA zu lernen.
Jetzt möchte ich folgendes Problem lösen (Ich benutze XL2000):

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

Ullrich Schwarz

unread,
Mar 14, 2000, 3:00:00 AM3/14/00
to
Hallo Thomas!

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...

Werner Rohrmoser

unread,
Mar 15, 2000, 3:00:00 AM3/15/00
to
Hallo Thomas,

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>...

Thomas Bauernfeind

unread,
Mar 15, 2000, 3:00:00 AM3/15/00
to
Vielen Dank an alle, die mir auf meine Frage geantwortet haben. Ihr habt mir
sehr geholfen! Klappt alles prima! Ich dachte mir schon fast, daß alles nur
an einer Kleinigkeit hängt.

Viele Grüße
Thomas Bauernfeind


0 new messages