Registriert seit: 28.04.2017
Version(en): 2010
28.04.2017, 11:57
Hallo liebe Com,
Ich bin am verzweifeln und hoffe ich kann euch mein Problem trotz Handytastertur erklären und ihr könnt mir helfen.
Ich habe Excel 2010
Zum Problem:
Ich habe eine Userform in der viele Daten aus der Tabelle1 ( Personal ) ausgelesen werden.
Name vorname Bereich usw.
In Spalte J7:J300 steht je ein Datum. Diese Daten laufen ab und geben mir an wie lange eine Untersuchung noch gültig ist. Zum berechnen habe ich die Formel die in Zelle J3 steht:
=(ZÄHLENWENN(J7:J300;">"&HEUTE()))
Somit kann ich sehen wie viele Untersuchungen noch gültig sind. Soweit so gut.
Nun zum eigentlichen Problem :(
Wenn ich in der Userform 04/2019 eingeben und auf speichern drücke steht Apr 2019 in der TextBox9 ( textbox für Zelle J7:J300 ) und in der Zelle und der Wert der gültigen Untersuchungen wird richtig berechnet. Doch öffne ich die Userform erneut steht 01.04.2019 in dee Textbox9 und drücke ich dann auf speichern ( CommandButton3 ) steht in der Zelle J.. auch wieder 01.04.2019 aber die berechnung geht nicht mehr.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
(28.04.2017, 11:57)Kaywarri124 schrieb: Doch öffne ich die Userform erneut steht 01.04.2019 in dee Textbox9 und drücke ich dann auf speichern ( CommandButton3 ) steht in der Zelle J.. auch wieder 01.04.2019 aber die berechnung geht nicht mehr.
eine Textbox enthält einen Text und wenn der in eine Zelle geschrieben wird, dann steht dort ein Text und kein Datum (= Zahl)!
Du kannst den Textbox-Inhalt so in die Zelle schreiben:
Range("J3") = CDate(Textbox9.Value)
dann müßte es ein Datum bleiben.
Registriert seit: 28.04.2017
Version(en): 2010
28.04.2017, 13:23
(Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2017, 14:38 von WillWissen.
Bearbeitungsgrund: Mikroschriftformatierung entfernt u. Codetags gesetzt
)
Danke für dir Antwort. Nur geht es nicht. Das einzige was jetzt anders ist. Ist das ich nur so das Datum eingeben kann
01.04.19
Anders kommt Laufzeitfehler 13
Das steht jetzt für meine Textbox9 im Code. Soweit geht auch alles nur das nach dem wieder Öffnen der Userform1 das Datum sich von Apr 2019 in 01.04.2019 umwandelt und das nicht mehr als Datum erkannt wird
Code:
Private Sub TextBox9_AfterUpdate()
If IsDate(Me.TextBox9.Value) Then
ActiveSheet.Cells(ActiveCell.Row, 4).Value = CDate(Me.TextBox9.Value)
ActiveSheet.Cells(ActiveCell.Row, 4).NumberFormat = "MM YYYY"
End If
End Sub
Private Sub TextBox9_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsDate(TextBox9.Text) Then
TextBox9.Text = Format(TextBox9.Text, "MMM YYYY")
Else
TextBox9.Text = "Kein gültiges Datum!"
Cancel = True
End If
End Sub
Private Sub TextBox9_Change()
End Sub
Registriert seit: 28.04.2017
Version(en): 2010
Ich dachte ich frage mal nochmal ob wer einen Ansatz hat.
Registriert seit: 28.07.2015
Version(en): 365
01.05.2017, 13:34
(Dieser Beitrag wurde zuletzt bearbeitet: 01.05.2017, 13:34 von DbSam.)
Hallo return,
wenn Du Dir die Eingabe des Slash-Zeichens ersparen und nur sechs Zahlen erfassen möchtest, dann geht auch:
Code:
Private Sub TextBox9_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Len(Me.TextBox9.Value) = 6 And IsNumeric(Me.TextBox9.Value) Then
Me.TextBox9.Value = (CDate("'01." & Left(Me.TextBox9.Value, 2) & "." & Right(Me.TextBox9.Value, 4)))
Me.TextBox9.Value = Format(Me.TextBox9.Value, "MMM YYYY")
Else
Me.TextBox9.Value = vbNullString
'oder, statt dem NullString kannst Du auch die Aktualisierung abbrechen:
'Cancel = True
End If
End Sub
Gruß Carsten
Registriert seit: 28.04.2017
Version(en): 2010
Danke für ddn Tipp nur geht es kir darum das die TextBoxen nach jedem neustarten der UserForm1 vom Format MMM YYYY auf DD.MM.YYYY springen.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin!
Textboxes haben IMMER das Textformat, könnte am Namen liegen …
Vielleicht solltest Du mal die Datei hochladen.
Werkelt da ein _Initialize, welches Textboxes füllt?
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 28.07.2015
Version(en): 365
Hallo return,
naja, dann frage ich mich, warum Du 'AfterUpdate' und 'Exit'-Ereignisse postest.
Dann lade doch bitte ein Minibeispiel hoch, dann kann man nachschauen und korrigieren.
Man kann doch nicht wissen, wie Du die Controls genau lädst ...
Gruß Carsten
Registriert seit: 10.04.2014
Version(en): 2016 + 365
02.05.2017, 13:13
(Dieser Beitrag wurde zuletzt bearbeitet: 02.05.2017, 13:13 von Rabe.)
Hi,
(02.05.2017, 12:45)RPP63 schrieb: Textboxes haben IMMER das Textformat, könnte am Namen liegen …
wie ich ja auch schon
hier geschrieben habe:
Rabe schrieb:eine Textbox enthält einen Text und wenn der in eine Zelle geschrieben wird, dann steht dort ein Text und kein Datum (= Zahl)!
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Wohl wahr, Ralf, sorry!
Dann sehe es als Bestätigung Deiner Aussage. :32:
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)