Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Zahlenformatierung

Betrifft: Zahlenformatierung von: Langmantl
Geschrieben am: 06.11.2014 13:35:27

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.

  

Betrifft: AW: Zahlenformatierung von: Rudi Maintaire
Geschrieben am: 06.11.2014 14:02:02

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


  

Betrifft: AW: Zahlenformatierung von: Langmantl
Geschrieben am: 06.11.2014 14:20:04

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


  

Betrifft: in dem Format Datum(2014;11;11) von: Rudi Maintaire
Geschrieben am: 06.11.2014 14:49:22

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


  

Betrifft: AW: Zahlenformatierung von: Langmantl
Geschrieben am: 07.11.2014 12:39:18

Ja Danke Rudi, manchmal sieht man den Wald vor lauter Bäumen nicht


 

Beiträge aus den Excel-Beispielen zum Thema "Zahlenformatierung"