Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wert zurück in Userform

Forumthread: Wert zurück in Userform

Wert zurück in Userform
26.02.2004 08:58:42
Manu
Hallo,
in einer Userform gebe ich über 3 Textfelder Std.Zeiten ein.
Diese werden über ein CommandButton in Blatt2 übertragen
(Spalte B, C, D) und in Spalte F addiert.
Nun möchte ich aber gerne, das in einem weiteren Textfeld
der Userform mir der aktuelle Stand der Spalte F angezeigt
wird.
Es ist aber leider so, das die eingegebenen Daten erst dann
in den Spalten stehen, wenn diese übertragen worden sind.
Vorstellen würde ich mir folgendes:
Anzeige des Wertes aus F nach jeder aktuellen Eingabe eines
Textfeldes, wenn Fertig über CommandButton speichern.
Hier der ursprüngliche Code:
Option Explicit

Private Sub ComboBox1_Click()
Dim intRow As Integer
Dim intC As Integer
intRow = ComboBox1.ListIndex
For intC = 1 To 3
Controls("TextBox" & intC).Text = Sheets("Tabelle2").Cells(intRow + 2, intC + 1)
Next
End Sub



Private Sub CommandButton1_Click()
Dim intRow As Integer
Dim intC As Integer
intRow = ComboBox1.ListIndex
For intC = 1 To 3
Sheets("Tabelle2").Cells(intRow + 2, intC + 1) = Controls("TextBox" & intC).Text
Next
End Sub


Private Sub CommandButton2_Click() 'Schliessen/Abbrechen
Unload Me
Sheets("Tabelle1").Activate
End Sub


Private Sub UserForm_Initialize()
ComboBox1.RowSource = "A2:A32" 'Quelle/Bezug
End Sub

Danke für Eure Hilfe
Gruß
Manu
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert zurück in Userform
26.02.2004 21:10:09
Manu
Hi Nepomuk,
lässt es sich eventuell machen, die gewollten Std.Eingaben
in z.B. 7:30 einzugeben? Dieses Format nimmt die Textbox nicht
an.
Vielen Dank für Deine Bemühungen
Gruß
Manu
Anzeige
AW: Wert zurück in Userform
26.02.2004 22:31:59
Nepumuk
Hallo Manu,
ändere das Modul "clsTextBox" so:

Option Explicit
Public WithEvents CtrlTextbox As MSForms.TextBox
Private Sub CtrlTextbox_Change()
On Error GoTo Fehler
UserForm1.TextBox4 = "0"
If IsDate(UserForm1.TextBox1) Then
UserForm1.TextBox4 = UserForm1.TextBox1
ElseIf IsNumeric(UserForm1.TextBox1) Then
UserForm1.TextBox4 = TimeSerial(CInt(UserForm1.TextBox1), 0, 0)
ElseIf Right(UserForm1.TextBox1, 1) = ":" Then
UserForm1.TextBox4 = TimeValue(UserForm1.TextBox1 & "0")
ElseIf Trim$(UserForm1.TextBox1) <> "" Then
Err.Raise 9999
End If
If IsDate(UserForm1.TextBox2) Then
UserForm1.TextBox4 = CDate(UserForm1.TextBox4) + CDate(UserForm1.TextBox2)
ElseIf IsNumeric(UserForm1.TextBox2) Then
UserForm1.TextBox4 = CDate(UserForm1.TextBox4) + TimeSerial(CInt(UserForm1.TextBox2), 0, 0)
ElseIf Right(UserForm1.TextBox2, 1) = ":" Then
UserForm1.TextBox4 = CDate(UserForm1.TextBox4) + TimeValue(UserForm1.TextBox2 & "0")
ElseIf Trim$(UserForm1.TextBox2) <> "" Then
Err.Raise 9999
End If
If IsDate(UserForm1.TextBox3) Then
UserForm1.TextBox4 = CDate(UserForm1.TextBox4) + CDate(UserForm1.TextBox3)
ElseIf IsNumeric(UserForm1.TextBox3) Then
UserForm1.TextBox4 = CDate(UserForm1.TextBox4) + TimeSerial(CInt(UserForm1.TextBox3), 0, 0)
ElseIf Right(UserForm1.TextBox3, 1) = ":" Then
UserForm1.TextBox4 = CDate(UserForm1.TextBox4) + TimeValue(UserForm1.TextBox3 & "0")
ElseIf Trim$(UserForm1.TextBox3) <> "" Then
Err.Raise 9999
End If
If UserForm1.TextBox4 = "0" Then
UserForm1.TextBox4 = ""
Else
UserForm1.TextBox4 = Format(CDate(UserForm1.TextBox4), "hh:mm")
End If
Exit Sub
Fehler:
Select Case Err.Number
Case 9999
MsgBox "Eingabe unzulässig.", 16, "Warnung"
CtrlTextbox = Left(CtrlTextbox, Len(CtrlTextbox) - 1)
Case Else
MsgBox "Fehler " & CStr(Err.Number) & vbLf & Err.Description, 16, "Warnung"
End Select
End Sub
Private Sub CtrlTextbox_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Or KeyAscii = 58 Then
KeyAscii = 58
If InStr(1, CtrlTextbox, ":") <> 0 Or Trim$(CtrlTextbox) = "" Then KeyAscii = 0
ElseIf Not Chr(KeyAscii) Like "[0-9]" Then
KeyAscii = 0
End If
End Sub


Code eingefügt mit: Excel Code Jeanie
Das Programm funktioniert bis 23 Stunden 59 Minuten. Wenn du mehr benötigst, muss ich es ändern.
Gruß
Nepumuk
Anzeige
Holladiewaldfee
26.02.2004 23:29:49
Manu
Hallo Nepomuk,
das alles für so ein bischen ":"?
Es funktioniert wunderbar!!!!
Werd wohl nie dahinterkommen, wie Ihr, Du das alles immer
in so kurzer Zeit hinbekommt.
Ist schon EXTRAKLASSE.
Vielen, vielen Daaaaank
Gruß
Manu
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige