Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1084to1088
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
Inhaltsverzeichnis

Formatverlust bei Textboxen

Formatverlust bei Textboxen
Roland
Hallo VBA-Profis
Ausgangslage:
Ich lese per VBA eine XML-Schnittstelle aus und trage die Werte in ein Tabellenblatt, nennen wir es Datentabelle ein. Diverse Zellen anderer Tabellenblätter sind mit dieser Datentabelle verknüpft (=Datentabelle!D20) usw. Die Zellen der diversen Tabellenblätter sind unterschiedlich formatiert zB. Datum T.MMM.JJJJ usw.
Über ein Userform bekommt der User alle Daten aus der Datentabelle angezeigt und kann diese gegebenenfalls modifizieren.
Nun passiert folgendes:
Nach dem auslesen der XML-Schnittstelle sind auf allen diversen Tabellenblätter die angezeigten Werte genau in dem Format, wie die Zellen auch formatiert sind, obwohl in der Datentabelle zB. 24.06.2009 steht, wird im Tabellenblatt 24. Jun. 2009 angezeigt.
Öffne ich jetzt die Userform und speichere die Daten zurück ohne eine Modifikation zu machen, steht in der Datentabelle immer noch 24.06.2009, aber im Tabellenblatt steht jetzt auch 24.06.2009.
Meine Frage:
Wo geht die Formatierung verloren oder wo wird ev. eine Formatierung hinzugefügt. Bei der Übergabe an die Userform oder bei der Übergabe von der Userform zurück in die Datentabelle?
Ich weiss, dass man mit .text Zahlen und per Format Datumswerte bei der Übergabe in die Datentabelle verwendet werden kann. Mich würde von einem Profi interessieren wieso die Formatierung von der XML-Schnittstelle richtig und von der Userform falsch ist.
Zur Ergänzung:
Codeteil XML-Auslesen
'1.IV
Set Eintrag = Wert.selectSingleNode("XXXX/VEHICLE/INITIAL_REGISTRATION")
Worksheets("SSXMLZIP").Cells(i + strZeileStartXML, 15) = Eintrag.text
Codeteil Userform laden
.txt_ErsteIV.Value = Worksheets("SSXMLZIP").Cells(20, 15)
Codeteil Daten von Userform übernehmen (hier bestünde ja jetzt die Möglichkeit ein Format mitzugeben)
.Cells(20, 15).Value = txt_ErsteIV
Besten Dank im Voraus für die Antwort auf meine etwas komlizierte Frage
Gruss Roland

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formatverlust bei Textboxen
24.06.2009 14:57:03
Jogy
Hi.
Ist es denn nach der Übergabe überhaupt noch ein Datum? Ich hatte schon des öfteren das Problem, dass es danach ein Text ist. Mach doch mal
.Cells(20, 15).Value = DateValue(txt_ErsteIV)
Gruss, Jogy
AW: Formatverlust bei Textboxen
24.06.2009 15:17:40
fcs
Hallo Roland,
das Problem tritt definitiv beim Zurückschreiben der Daten aus den Textboxen etc. des Userforms in die Tabelle auf.
Wie der Name schon sagt enthalten die Textboxen Informationen als Text.
Beim Zurückschreiben von Zahlen und Datumsangaben in Tabellen sollte man immer den Inhalt vom Typ String der Textboxen in den gewünschten Zahlentyp umwandeln. Um Fehler im Ablauf zu vermeiden sollte man dabei erst den Datentyp des Textes prüfen, dann konvertieren.
Schaut dann als Prozedur beispielweise für ein Datumsfeld wie folgt aus. Bei Zahlen ist es ähnlich.
Dann muss auf IsNumeric prüfen und die Umwandlungsfunktionen sind CDbl Clng CInt oder in Ausnahmen auch Val.
Gruß
Franz

Private Sub CommandButton1_Click()
With Me.TextBox1
If .Value = "" Then
Cells(22, 2).ClearContents
ElseIf IsDate(.Value) Then
Cells(22, 2) = CDate(.Value)
Else
MsgBox "Eingabe in Textbox """ & .Name & """ ist kein Datum"
Exit Sub
End If
End With
End Sub
Private Sub UserForm_Initialize()
Me.TextBox1 = Cells(22, 2).Text
End Sub


Anzeige
AW: Formatverlust bei Textboxen
24.06.2009 19:02:32
Roland
Hallo zusammen
@ Jogy besten Dank deinen Tipp. Funktioniert soweit, hat jedoch den Nachteil, dass der User gezwungen wird ein Datum einzutragen.
@Franz
Herzlichen Dank für die Erläuterungen. Sie sind sehr verständlich und ich habe wieder einiges dazu gelernt. Die Antwort in deiner Art trägt dazu bei, dass man im Forum nicht nur Lösungen findet sondern, dass man sie auch versteht.
Nochmals Besten Dank
Gruss
Roland

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige