Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

Zahlenformatierung

Zahlenformatierung
06.11.2014 13:35:27
Langmantl
Hallo, ich habe eine Textbox in einer Userform. Dort gebe ich das Datum ein in der Form: (Bsp)11.11.2014.
Mit folgendem Befehl lasse ich die Textbox in die Tabelle eintragen
'Speichern Schaltfläche Ereignisroutine

Private Sub CommandButton3_Click()
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Wir müssen prüfen, ob die ID Spalte auch gefüllt ist!!
If Trim(CStr(TextBox1.Text)) = "" Then
'Meldung ausgeben
MsgBox "Sie müssen mindestens ein Datum eingeben!", vbCritical + vbOKOnly, "FEHLER!"
'Abbrechen der Speicherroutine
Exit Sub
End If
'Ausbauoption: Prüfen, ob die ID in Tabelle1 Spalte 1 schon vorhanden ist!
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 10 'Start in Zeile 2, Zeile 1 sind ja die Überschriften
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Sheets(2).Cells(lZeile, 1).Value))  ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Sheets(2).Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, TextBoxen in die Zellen schreiben
Sheets(2).Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
Sheets(2).Cells(lZeile, 2).Value = TextBox2.Text
Sheets(2).Cells(lZeile, 3).Value = TextBox3.Text
'Die ListBox muss nun neu geladen werden
'allerdings nur, wenn sich der Name (ID) geändert hat
If ListBox1.Text  Trim(CStr(TextBox1.Text)) Then
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub
dies ist der Gesamtcode, wobei die Eintragung: Sheets(2).Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))die gewünschte ist,
Wie muss ich diese Zeile ändern, wenn ich möchte, dass er es in der entsprechenden Zelle in folgendem Format einträgt: =DATUM(2014;11;11) dies ist wichtig, weil er in einer anderen Funktion nur auf diese Zellformatierung reagieren kann.

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

Betreff
Datum
Anwender
Anzeige
AW: Zahlenformatierung
06.11.2014 14:02:02
Rudi
Hallo,
wieso CStr()? Eine Textbox enthält doch ohnehin Text (einen String).
Meinst du
Sheets(2).Cells(lZeile, 1).Value = CDate(Trim(TextBox1.Text))
?
Gruß
Rudi

AW: Zahlenformatierung
06.11.2014 14:20:04
Langmantl
Hallo Rudi, habe den Code kopiert, war eigentlich als Texteingabe gedacht im Original, ich habe dort ein Datum eingegeben.
Weiß nicht ob es richtig ist. Es geht darum, dass ich in eine Textbox ein Datum eingebe. (Bei der Originalvorlage ist es ein Text nämlich der Name) dieses Datum soll in eine Tabelle geschrieben werde,, in dem Format Datum(2014;11;11)
Ich habe noch einen offenne Fragestellung in einem anderen Thread, wo du auch schon geantwortet hast, kannst du so nett sein und dir das auch mal anschauen? Es geht wieder mal um die Datumsprüfung, wo du mir einen Code geschrieben hast. Vielleicht erinnerst du dich? Der Code trug ein, am Wontag Ausgang erst um 16:30 möglich.
Ich wurde diese Abfrageroutine von dir gerne so ändern, dass die Abfrage, die hervorragend funxt, allerdings schon nach Eingabe in der entsprechenden Textbox funktioniert.
Ich schicke dir nochmals die Datei.
zu dem Datumsformatsproblem, dass findest du auch in der Tabelle, allerdings im 2. Tabellenblatt dort habe ich wahrscheinlich stümperhaft eine Usform erstellt, die mir ermöglicht, neue Termine einzutragen, Aberdie beweglichen Feiertage überspringt.
Das Benannte Format muss so sein, weil sonst die Sverweiß Funktion in dem ersten Tabellenblatt nicht funxt.
https://www.herber.de/bbs/user/93598.xlsm

Anzeige
in dem Format Datum(2014;11;11)
06.11.2014 14:49:22
Rudi
Hallo,
das ist kein Format.
Die Funktion Datum() ermittelt aus den Param. Jahr; Monat; Tag ein Datum. Ein Datum ist eine Ganzzahl von 1-2958465 (1.1.1901-31.12.9999)
Das Benannte Format muss so sein, weil sonst die Sverweiß Funktion in dem ersten Tabellenblatt nicht funxt.
Das Format ist egal, solange es sich in beiden Tabellen um ein echtes Datum handelt.
KLMNO
852958465f 06.11.2014a
86   07.11.2014b
87   08.11.2014c
88   09.11.2014d
89   10.11.2014e
90   31.12.9999f
91   12.11.2014g
92   13.11.2014h
93   14.11.2014i

ZelleFormel
L85=SVERWEIS(K85;N85:O93;2;)

Gruß
Rudi

Anzeige
AW: Zahlenformatierung
07.11.2014 12:39:18
Langmantl
Ja Danke Rudi, manchmal sieht man den Wald vor lauter Bäumen nicht

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige