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