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

UserForm-Inhalte in Tabelle einfügen u formatieren

UserForm-Inhalte in Tabelle einfügen u formatieren
07.04.2017 07:55:45
Kemmi
Hallo ihr Lieben,
ich habe ein Kalkulationstool mit VBA geschrieben das über ein UserForm Inhalte ausrechnet und dann in das Excel-Arbeitsblatt einträgt.
Nun würde ich gerne, sowohl im UserForm, als auch in den einzelnen Spalten im Arbeitsblatt eine Formatierung einstellen.
Manche Werte sollen mit € gekennzeichnet sein, andere mit "ml", oder "Stück", oder "kwh" usw.
Ist das möglich?
Außerdem wäre es schön, wenn die Spaltenbreite beim einfügen automatisch angepasst wird.
Kann mir jemand helfen?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm-Inhalte in Tabelle einfügen u formatieren
07.04.2017 08:41:17
hary
Moin
Meinst du fuer z.B. Textboxen?
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "0.00 €")
End Sub

und das andere:
Columns(1).AutoFit '--SpalteA autom. Spaltenbreite
Columns(1).NumberFormat = "0.00 €" '--SpalteA Format
Columns(2).NumberFormat = "0 ""Stück""" '--SpalteB Format

gruss hary
UserForm-Inhalte in Tabelle einfügen u formatieren
07.04.2017 08:55:04
Kemmi
Hallo Hary,
danke für deine Hilfe. Ich bin nicht ganz sicher. So tief bin ich noch nicht in VBA drin.
Müsste ich das einfach so in den Code eintragen?
Meiner Userform sieht so aus:
Userbild
Und wenn man auf Vergleichen klickt werden einige Daten in ein Arbeitsblatt eingefügt.
Hier ein Teil des Codes:
Private Sub Vergleichen_Click()
'Fügt die eingetragenen Werte ins Tabellenblatt ein und schließt das Formular KalkulatorForm
Dim intErsteLeereZeile As Long
intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
ActiveSheet.Cells(intErsteLeereZeile, 1).Value = _
Me.TintentypCombo.Value
Und ich hätte gerne, dass die Bezeichnungen (also € usw.) sowohl in der Tabelle stehen als auch im UserForm.
Nicht alle Daten, die in das Arbeitsblatt eingetragen werden stehen vorher im Formular. Einiges wird ausgerechnet, oder aus einer Liste eingefügt.
Anzeige
AW: UserForm-Inhalte in Tabelle einfügen u formatieren
07.04.2017 09:24:04
hary
Moin
z.B. fuer Tintenkosten pro…
Rechtsclick auf die Textbox/Code anzeigen und da kommt rein:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "0.00 €")
End Sub

Sobald du die Box verlaesst wird Formatiert in €
Fuer ml:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2 = Format(TextBox2, "0 ""ml""")
End Sub

Die Codezeile(n) fuer Autofit usw. schreibst du in das Ereigniss dass die Werte eintraegt.
ansonsten lad mal eine Bsp.-Mappe hoch.
gruss hary
Anzeige
UserForm-Inhalte in Tabelle einfügen u formatieren
07.04.2017 10:46:46
Kemmi
Hallo Hary,
super, vielen Dank. Das hat klasse funktioniert.
Nun ergibt sich daraus aber ein neues Problem. Ich möchte später mit diesen Werten etwas ausrechnen und habe in meinen Code Formeln eingetragen:
ActiveSheet.Cells(intErsteLeereZeile, 11).Value = _
((CCur(Me.AnschaffungskostenTextbox.Value)) / (CDbl(Me.AFATextbox.Value))) _
/ (CDbl(Me.DruckvolumenTextbox.Value))
Nun kann er natürlich nicht rechnen, weil es keine normalen Zahlenwerte mehr sind.
Könnte ich den Code abändern, sodass er nicht den gesamten Wert der TextBox nimmt, sondern nur die Zahl, die drin steht und den Rest ignoriert?
Anzeige
AW:Vorschlag
07.04.2017 11:05:10
hary
Moin Kemmi
Die Zahlen koennte man auslesen aber: Wie waer es wenn du rechts, direkt neben den Textboxen, ein Label mit der Bezeichnung hinsetzt und den Text in der Textbox rechtsbuendig legst.
Das waer wesentlich einfacher.
gruss hary
AW: AW:Vorschlag
07.04.2017 11:53:11
Kemmi
Hallo Hary,
das sieht nicht so schön und beeindruckend aus. :)
Wie geht das denn, dass die Zahlen ausgelesen werden?
Grüße
Andrea
AW: AW:Vorschlag
07.04.2017 12:18:10
hary
Moin Andrea
So wird der Text von links bis zum Leerzeichen genommen.
123 ml
Also erst die Zahl dann ein Leerzeichen dann Bezeichnung.
CDbl(Left(Me.AFATextbox, InStr(1, Me.AFATextbox, " ") - 1))

und das mit allen Werten.
gruss hary
Anzeige
AW: AW:Vorschlag
11.04.2017 07:20:20
Kemmi
Vielen Dank Hary,
das hat super funktioniert.
Hast mir sehr geholfen :)

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige