Anzeige
Archiv - Navigation
388to392
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
388to392
388to392
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige