Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
608to612
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
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Einfach addition in Vba
06.05.2005 08:48:18
Thomas
Hallo zusammen,
ich möchte den in einer Textbox eingetragenen Wert per Tastendruck (KeyUp,KeyDown)um 0,05 erhöhen bzw. verringern. Ich habe es mit diesem Code versucht:

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
TextBox2 = CDbl(TextBox2) - CDbl("0,05")
End Sub

Das Problem dabei:
1)Die Zahl wird nur noch mit einer Stelle hinter dem Komma angezeigt.
2)Die "Berechnung" Funktioniert nicht per Tastendruck, sondern erst wenn ich einen Moment gedrückt halte. Und dann sehr schnell :-(
Vielen Dank,
Thomas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfach addition in Vba
06.05.2005 08:53:06
Hajo_Zi
Hallo Thomas,
ich hätte die Aktion

Private Sub TextBox2_AfterUpdate()
TextBox2 = CDbl(TextBox2) - 0.05
End Sub

dafür benutzt.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.



"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Einfach addition in Vba
06.05.2005 09:06:53
Thomas
Hallo,
damit hätte ich dann die -0,05. Fehlen mir noch die +0,05 bei "Pfeiltaste Rauf".
Danke schonmal, Thomas
AW: Einfach addition in Vba
06.05.2005 09:14:07
Hajo_Zi
Hallo Thomas,
Deine Aktion hat nichts mit den Pfeiltasten zu tun. Mal ein Auszug aus der Hilfe
"KeyDown-, KeyUp-Ereignisse
Treten nacheinander ein, wenn der Benutzer eine Taste drückt und wieder loslässt. Das KeyDown-Ereignis tritt ein, wenn der Benutzer eine Taste drückt. Das KeyUp-Ereignis tritt ein, wenn der Benutzer eine Taste loslässt."
Gruß Hajo
Das Forum lebt auch von den Rückmeldungen.

"Wer Rechtschreibfehler findet, darf sie behalten!"
Dies gilt auch für Bert.
Anzeige
AW: Einfach addition in Vba
06.05.2005 09:25:28
Thomas
Hallo Hajo,
vielen Dank erstmal für den Hinweis!! Da hat sich bei mir ein Denkfehler eingeschlichen.....
Hast du denn eine einfache Lösung, wie man es realisieren könnte, das bei "Pfeiltaste Rauf" 0,05 addiert und bei "runter" abgezogen werden?
Mfg, Thomas
AW: Einfach addition in Vba
06.05.2005 09:25:34
u_
Hallo,

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If TextBox1 = "" Then TextBox1 = 0
Select Case KeyCode
Case 40 'Pfeil nach oben
TextBox1 = Format(CDbl(TextBox1) - 0.05, "#,##0.00")
Case 38 'Pfeil nach unten
TextBox1 = Format(CDbl(TextBox1) + 0.05, "#,##0.00")
End Select
End Sub

Gruß
Anzeige
AW: Einfach addition in Vba
06.05.2005 09:29:20
Thomas
Hallo und vielen Dank dafür!!
Funktioniert super!
eine Frage dazu...
06.05.2005 10:16:34
Andi
Hallo u_,
sowas wollte ich auch schon vorschlagen; ich hab dann testweise noch einen CommandButton unter der TextBox in das UserForm eingefügt, und seit dem wird jedesmal, wenn ich "Pfeil nach unten" drücke zwar der Wert abgezogen, danach aber der CommandButton aktiviert; man muss dann mit der Maus wieder in die TextBox klicken, bevor ein weiterer Druck auf die Cursortasten einen Effekt hat.
Mit TextBox2.SetFocus bin ich da auch nicht weitergekommen.
Hast Du ne Idee, wie man das vermeiden kann?
Schönen Gruß,
Andi
Anzeige
AW: eine Frage dazu...
06.05.2005 10:47:25
u_
Hallo,
stimmt! Es wird immer das vorhergehende/ nachfolgende Steuerelement angesprungen.
Abhilfe
in ein Modul: Public bolKeyUpDown As Boolean
In die UF:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = bolKeyUpDown
bolKeyUpDown = False
End Sub


Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If TextBox1 = "" Then TextBox1 = 0
Select Case KeyCode
Case 40 'Pfeil nach oben
TextBox1 = Format(CDbl(TextBox1) - 0.05, "#,##0.00")
bolKeyUpDown = True
Case 38 'Pfeil nach unten
TextBox1 = Format(CDbl(TextBox1) + 0.05, "#,##0.00")
bolKeyUpDown = True
End Select
End Sub

Gruß
Anzeige
Perfekt!
06.05.2005 11:04:05
Andi
So funktioniert's wunderbar.
Schönen Gruß,
Andi

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige