Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
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
Werte aus Textbox im Zahlenformat einfügen
10.04.2020 15:00:19
Baron
Hallo zusammen
Ich habe unteren Cod geschrieben und zusammenkopiert, welcher so jetzt auch funktioniert, ich mich aber frage ob das nicht einfacher ginge. Ich könnte es auch so belassen, stört mich nicht. Aber ich möchte ja dazulernen.
Beim klicken auf "OK" eines UserForms werden die werte in die Exceltabelle eingetragen. Die werte aus den Textboxen "TXTB_KundNr1" und "TXTB_PLZ" müssen als Zahlen formatiert werden. Sonst funktionieren andere Funktionen in VBA und Excel nicht (SVERWEISE und VLookup).
Mit den Beiden "with's" wird das auch erfolgreich gemacht.
Nun zur Frage:
- Kann das nicht bereits beim einfügen geschehen? irgendwie so:
ActiveCell.Value = TXTB_KundNr1.NumberFormat = "General" (funktioniert nicht, ich weiss)
- Oder in den Eigenschaften der Textboxen schon voreinstellen dass die Werte Zahlen sind und auch als solche eingefügt werden?
Wenn ich die betroffenen Zellen vor dem Ausführen des Makros als Zahl formatiere wird die Formatierung einfach überschrieben. Irgendwie frech :)
Vielen Dank und frohe Ostern.
Baron

Private Sub CMDB_OK1_Click()
Worksheets("Kundenliste").Activate
Dim loLetzte As Long
With Worksheets("Kundenliste")
loLetzte = .Cells(.Rows.Count, "a").End(xlUp).Offset(1, 0).Select
End With
'Werte Eintragen
ActiveCell.Value = TXTB_KundNr1
ActiveCell.Offset(0, 1) = TXTB_Anrede
ActiveCell.Offset(0, 2) = TXTB_Name
ActiveCell.Offset(0, 3) = TXTB_Vorname
ActiveCell.Offset(0, 4) = TXTB_Firma
ActiveCell.Offset(0, 5) = TXTB_Adresszusatz
ActiveCell.Offset(0, 6) = TXTB_Strasse
ActiveCell.Offset(0, 7) = TXTB_PLZ
ActiveCell.Offset(0, 9) = TXTB_Tel
ActiveCell.Offset(0, 10) = TXTB_Fax
ActiveCell.Offset(0, 11) = TXTB_Mob
ActiveCell.Offset(0, 12) = TXTB_Mail
With ActiveCell
.NumberFormat = "General"
.Value = .Value
End With
With ActiveCell.Offset(0, 7)
.NumberFormat = "General"
.Value = .Value
End With
Kunde_erf.Hide
'Formular leeren
TXTB_KundNr1 = ""
TXTB_Anrede = ""
TXTB_Name = ""
TXTB_Vorname = ""
TXTB_Firma = ""
TXTB_Adresszusatz = ""
TXTB_Strasse = ""
TXTB_PLZ = ""
TXTB_Tel = ""
TXTB_Fax = ""
TXTB_Mob = ""
TXTB_Mail = ""
Worksheets("Übersicht").Activate
ThisWorkbook.Save
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Textbox im Zahlenformat einfügen
10.04.2020 15:06:27
Regina
Hi, Textboxen übergeben (wie der Name schon sagt) immer Text. Da lässt sich nichts voreinstellen. Es ist daher sinnvoll die Werte zunächst in typgerechte Variablen zu übergeben und dann erst in das Tabellenblatt.
Z.B. so:

Dim lng_kudennummer as Long
lng_kundennummer = TXTB__KundNr1
ActiveCell.Value = lng_kundennummer
Auf diese Weise "zerschießt Du Dir auch keine voreingestellte Zellformatierung. Solltsets Du die Zelle aus VBA heraus als Zahl formatieren wollen, ist das immer ein Extraschritt zur Wertzuweisung.
VG Regina
AW: Werte aus Textbox im Zahlenformat einfügen
10.04.2020 15:33:32
Baron
Meine Güte, das ging flott! Super!
Vielen herzlichen Dank Regina für die Erklärung und Lösung. Ich habe dieses Programmierdenken noch nicht ganz intus. (Nach 7x fluchen hatt's dann funktioniert. zwei kleine Tippfehler in deiner Lösung, bin ja selber schuld, wenn ich zu faul bin alles immer copy&past mache)
Grüsse Baron
Anzeige
AW: Werte aus Textbox im Zahlenformat einfügen
10.04.2020 15:43:21
Regina
Mea Culpa... zu schnell getippt....
Gruß Regina

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige