Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Textbox als Zahlen-Output auf Tabelle
#1
Hallo!

ich verzweifel wahrscheinlich an etwas ganz leichtem. Mein Excel Grundwissen habe ich noch aus der Schulzeit und kürzlich einiges aus YouTube gewonnen. Habe Google etliche Male verwendet jedoch habe ich mein Ziel noch immer nicht erreicht.

Mein Ziel:
Ich erstelle für meine Arbeit eine Excel-Tabelle inkl VBA Eingabe-Maske wo Mitarbeiter Ihren Umsatz von verschiedenen Produkten mit der jeweiligen Anzahl angeben und dies automatisch in die Tabelle eingefügt wird. Dank YouTube habe ich den größten Teil geschafft, die Maske ist erstellt, ein Button mit Verknüpfung zur Eingabemaske steht - auch die Daten werden auf die Tabelle geschoben, jedoch nicht richtig!

Mein Problem:
In Textfeldern gibt der Mitarbeiter die Anzahl der Produkte an, mittels eines "Übernehmen"-Buttons sollen diese Zahlen auf die Tabelle kommen - das kommen Sie auch, jedoch als Text formatiert und somit erstmal unbrauchbar bei diversen Recherchen oder Anwendungen von Formeln.
Habe unzählige Male nun Google durchsucht und diverse "Tipps" gefunden, wie z.b. den Wert der "TextBox*1" zu nehmen. Habe dies in verschiedenen Anläufen und auch gänzliche andere Anläufe probiert und alles ohne Erfolg.

Für mein Verständnis:
Muss ich bei der TextBox ansetzen oder dem "Übernehmen"-Button?

Ich denke dieses Forum ist meine letzte Rettung bevor ich nach jeder Eingabe den Text als Zahl formatieren muss.

Vielen Dank!
Antworten Top
#2
Hallo,

bei deinem "Übernahme" Button


Code:
'Übertrag als Long-Wert (Ganzzahl)
Range("A1") = CLng(Me.TextBox1)
'Übertrag als Double-Wert (Zahl mit Nachkommastellen)
Range("A1") = CDbl(Me.TextBox1)
'Textboxinhalt mit 1 multipliziert - ergibt eine Zahl
Range("A1") = Me.TextBox1 * 1

Such dir was aus.

Gruß Werner
Antworten Top
#3
Vielen Dank für die zügige Antwort!

Habe 2 von den drei Methoden getestet, da ich keine Nachkommastellen verwende.
Beide Variationen haben nicht funktioniert - was mache ich falsch? Im Anhang liegt die Datei - habe Namen entfernt.

Vielen Dank!


- edit: Datei korrigiert


Angehängte Dateien
.xlsm   slim Mappe.xlsm (Größe: 15,54 KB / Downloads: 3)
Antworten Top
#4
Hallo,

speck deine Datei bitte auf ein erträgliches Maß ab. Sie soll nur vom Aufbau/von der Struktur her deinem Original gleichen; es reichen in der Regel einige wenige Datensätze.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#5
Hallo,

Code:
Private Sub CommandButton_OK_Click()
Dim last As Long, i As Long

last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1

'Verkaufer
Cells(last, 1).Value = ListBox_Verkaufer

'Datum
If Me.TextBox_Datum <> "" And IsDate(Me.TextBox_Datum) Then
   Cells(last, 2).Value = CDate(Me.TextBox_Datum)
End If

For i = 3 To 10
   Cells(last, i) = CLng(Me.Controls("TextBox_Zahl" & CStr(i - 2)))
Next i

End Sub

Gruß Werner
Antworten Top
#6
Nochmals Danke für die Antwort!

Habe auch diese kopiert und eingefügt - trotzdem sind die Zahlen die über die Pfeile eingestellt werden (in der Eingabemaske) auf der Tabelle als Text formatiert (habe ich etwas falsch gemacht?). Und ein weiterer Datensatz wird nicht erzeugt sondern überschreibt den letzten.
Gewünscht ist eine Sammlung aller Umsätze tag genau des jeweiligen Mitarbeiters um anschließend Analysen für Kalenderwochen, Monate und co zu erstellen.
Antworten Top
#7
Hallo,

du stellst die letzte belegte Zeile in Spalte A fest. Sollten dort keine Daten erfasst werden, landest du immer wieder in der gleichen Zeile.

Offensichtlich machst du etwas falsch - wobei ich dazu nichts sagen kann, da ich deine Datei nicht kenne.
Bei mir auf alle Fälle sind das nach dem Übertragen aus der Userform in die Tabelle Zahlen und kein Text

Kopier meinen Code mal in deine hochgeladene Datei und teste es.

Mehr kann hier wohl niemand sagen, ohne die Originaldatei.

Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • huptiq
Antworten Top
#8
Hallo,

dass dein Zielbereich im Tabellenblatt im Format "Standard" formatiert ist und nicht im Format "Text" hast du schon überprüft?

Gruß Werner
[-] Folgende(r) 1 Nutzer sagt Danke an Werner.M für diesen Beitrag:
  • huptiq
Antworten Top
#9
ich hab's jetzt mal 1:1 in mein Original gesetzt, funktioniert...

Vielen vielen vielen Dank für die großartige Hilfe und Geduld mit mir.


Mein Held des Tages!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste