Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Schwieriges Thema zum Datum
#1
Exclamation 
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.
=wenn(a1="keine Ahnung";B1="mal nachdenken";C1="zu blöd ich frag das Forum")
Antworten Top
#2
Hi,

(28.04.2017, 10: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.
Antworten Top
#3
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
Antworten Top
#4
Ich dachte ich frage mal nochmal ob wer einen Ansatz hat.
Antworten Top
#5
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
Antworten Top
#6
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.
Antworten Top
#7
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)
Antworten Top
#8
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
Antworten Top
#9
Hi,

(02.05.2017, 11: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)!
Antworten Top
#10
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)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste