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.

Daten aus Userform in eine Tabelle übertragen
#1
Hallo, ich bin ganz neu hier und möchte Euch bitten, mir mit einem Problem zu helfen. Leider habe ich von VBA so garkeine Ahnung. Aber ich versuchs trotzdem mal.

Ich habe eine kleine Tabelle, in der 5 Warengruppen aufgeführt sind. Dazu habe ich eine Userform gebastelt, in der Positionen aus der gleichen oder aus verschiedenen Warengruppen in die Tabelle eingelesen werden sollen. Es können alsoz.B.  in beiden Spalten der Userform Waren der Gruppe 3 stehen. Daher sollen die Werte in Spalte 1 und 2 entsprechen eingetragen werden und in Spalte 3 als Summe ausgegeben werden. In der Userform und in der Tabelle sollen die "Geld-Werte" auch entsprechend formatiert angezeigt werden. Ich habe nun schon einiges im Forum gelesen, aber nun komme ich nicht weiter und habe überhaupt keine Ahnung, wie ich die Daten in die Tabelle bekomme, hoffe ich auf Eure Hilfe und bedanke mich schon jetzt.
Es ist immer schwierig, etwas zu erkläen. Daher habe ich die Tabelle einmal angefügt


Angehängte Dateien
.xlsm   Liste.xlsm (Größe: 16,88 KB / Downloads: 17)
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#2
Hallo Tanja

ich habe eine Beispieldatei hochgeladen, aber nur mit einem Teilerfolg !!  

Das Makro kann zwar die Daten aus der ComboBox in die Textfelder laden und nach belieben in Tabelle1 oder Tabelle3 kopieren.  Mein Problem:  wenn du in die Textfelder manuell Daten eingibst stimmt die Summenberechnung im Textfeld nicht!!  Da bin ich mit meinem Technik Latein am Ende.  Ich weiss nicht woran das liegt???

Vielleicht hat ein Kollege da den Durchblick und kann dir weiterhelfen.  Unten der User Form Code für Tanja

mfg  Gast 123


Code:
Const Variable in Modul1:
Public Const cProdukt = "B10"   'Zelle Adresse Produkt in Tabelle1
Public Const cEingabe = "B5"    'Zelle Adress Eingabe in Tabelle3


UserForm Code:
Option Explicit
Dim Indx As Integer, Zeile As Integer
Dim Sum1 As Currency, Sum2 As Currency
Dim Menge As Long, Preis As Currency


Private Sub ComboBox1_Change()
On Error GoTo Fehler
Application.EnableEvents = False
With Worksheets("Tabelle1").Range(cProdukt)
 Indx = ComboBox1.ListIndex
 TextBox7.Value = ""  'ges. löschen
 TextBox1.Value = .Offset(Indx, 1).Value
 TextBox2.Value = .Offset(Indx, 2).Value
 TextBox3.Value = .Offset(Indx, 3).Value
 Sum1 = .Offset(Indx, 3).Value
 TextBox7.Value = Sum1 + Sum2 'Format(Sum1 + Sum2, "0.00")
End With
Fehler:  'Events aktivieren
Application.EnableEvents = True
End Sub

Private Sub ComboBox2_Change()
On Error GoTo Fehler
Application.EnableEvents = False
With Worksheets("Tabelle1").Range(cProdukt)
 Indx = ComboBox2.ListIndex
 TextBox7.Value = ""  'ges. löschen
 TextBox4.Value = .Offset(Indx, 1).Value
 TextBox5.Value = .Offset(Indx, 2).Value
 TextBox6.Value = .Offset(Indx, 3).Value
 Sum2 = .Offset(Indx, 3).Value
 TextBox7.Value = Sum1 + Sum2 'Format(Sum1 + Sum2, "0.00")
End With
Fehler:  'Events aktivieren
Application.EnableEvents = True
End Sub


Private Sub CommandButton3_Click()
Dim Bereich As String  'Eingabe buchen
If ActiveSheet.Name = "Tabelle1" Then Bereich = cProdukt
If ActiveSheet.Name = "Tabelle3" Then Bereich = cEingabe
With ActiveSheet.Range(Bereich)
 Indx = ComboBox1.ListIndex
 If Indx > -1 Then
   .Offset(Indx, 1).Value = TextBox1.Value
   .Offset(Indx, 2).Value = TextBox2.Value
   .Offset(Indx, 3).Value = TextBox3.Value
   'In Tabelle3 Waren Name mit einfügen
   If ActiveSheet.Name = "Tabelle3" Then _
      .Offset(Indx, 0) = ComboBox1.Value
 End If
 Indx = ComboBox2.ListIndex
 If Indx > -1 Then
   .Offset(Indx, 1).Value = TextBox1.Value
   .Offset(Indx, 2).Value = TextBox2.Value
   .Offset(Indx, 3).Value = TextBox3.Value
   'In Tabelle3 Waren Name mit einfügen
   If ActiveSheet.Name = "Tabelle3" Then _
      .Offset(Indx, 0) = ComboBox2.Value
 End If
End With
End Sub


Private Sub TextBox1_Change()
 If TextBox1.Value = "" Then Exit Sub
 If TextBox2.Value = "" Then Exit Sub
 Menge = TextBox1.Value
 Preis = TextBox2.Value
 Sum1 = Menge * Preis
 TextBox3.Value = Sum1
 TextBox7.Value = Sum1 + Sum2
End Sub

Private Sub TextBox2_Change()
 If TextBox1.Value = "" Then Exit Sub
 If TextBox2.Value = "" Then Exit Sub
 Menge = TextBox1.Value
 Preis = TextBox2.Value
 Sum1 = Menge * Preis
 TextBox3.Value = Sum1
 TextBox7.Value = Sum1 + Sum2
End Sub

Private Sub TextBox4_Change()
 If TextBox4.Value = "" Then Exit Sub
 If TextBox5.Value = "" Then Exit Sub
 Menge = TextBox4.Value
 Preis = TextBox5.Value
 Sum2 = Menge * Preis
 TextBox6.Value = Sum2
 TextBox7.Value = Sum1 + Sum2
End Sub

Private Sub TextBox5_Change()
 If TextBox4.Value = "" Then Exit Sub
 If TextBox5.Value = "" Then Exit Sub
 Menge = TextBox4.Value
 Preis = TextBox5.Value
 Preis = Replace(Preis, ".", ",")
 Sum2 = Menge * Preis
 TextBox6.Value = Sum2
 TextBox7.Value = Sum1 + Sum2
End Sub


Private Sub UserForm_Initialize()
 ComboBox1.RowSource = "Tabelle1!B10:B14"
 ComboBox2.RowSource = "Tabelle1!B10:B14"
 Sum1 = Empty: Sum2 = Empty
End Sub


Angehängte Dateien
.xlsm   Liste 2.xlsm (Größe: 23,29 KB / Downloads: 17)
Antworten Top
#3
Hallo Gast,

ich hätte nicht gedacht, dass das so umfangreich wird. Daher vielen Dank für Deine Mühe.

Meine Idee war vorher, die Werte mittels Userform in eine Excel-Tabelle zu übertragen und von dort mit Formeln zu arbeiten. Aber so sieht das sehr gut aus. Ich hätte das wahrscheinlich nie hinbekommen. Eine Sache müsste noch funktionieren: Es gibt in jeder Warengruppe verschiedene Artikel, so dass beide Zeilen z.B. mit Werten aus der Warengruppe B gefüllt werden müssen. Das scheint aber noch nicht zu funktionieren.
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#4
Hallo Tanja,

verstehst du unter Warengruppen die Buchstaben A, B, C, D, usw.?  Im Beispiel war nur nur 1 Buchctabe zu sehen!  Keine einzelnen Artikel!
Wenn es in den Warengruppen verschiedene Artikel gibt, wie unterscheidest du denn die Artikel??  Es ist kein Name oder Artikel Nr. zu sehen.  

Kannst du mir da bitte noch mal ein Beispiel schicken mit mehreren Fantasie Daten und einer Beschreibung was z.B. in ComboBox 1+2 drin stehen würde, und wo das konkret hinkopiert werden soll??  Im Augenblick fehlt mir da der Durchblick was du genau meinst.

mfg  Gast 123

PS  im Modu1 sind Const Anweisungen mit Adressen angegeben weil ich nicht wusste ab welcher Zeile z.B. in Tabelle3 kopiert werden soll.  
Diese Adresse/n kannst du selbst neu festlegen!  Es muss nur eine gültige Zelle sein.
Antworten Top
#5
Hallo Gast,

die ganze Tabelle ist Teil eines größeren Projektes.
Einiges ist vermutlich nicht so ganz richtig rübergekommen. Die Tabelle soll mir helfen, die Werte richtig zu setzen. Das ist mir zum Teil auch gelungen. Du bist davon ausgegangen, dass die Werte in 2 Tabellen sollen. Insofern war das richtig. Die Daten sollen in eine Buchführung übernommen werden (Tabelle2) und gleichzeitig ins REchnungsformular (Tabelle3). Das Einpflegen der einzelnen Artikelbezeichnungen bekomme ich dann schon selbst hin.
Das größte Problem ist, dass eine Produktgruppe in der Userform mehrfach auftaucht, z.B. bestellt ein Kunde ein Produkt der PG 1 und 3 Artikel aus dem Shop. Hier muss dann die PG (Shop) in der Buchführung so zusammengefasst werden, dass ich dort nur noch eine Gesamtsumme sehe. Keine Ahnung, wie so etwas funktioniert. Daher habe ich überlegt, die Daten in ein extra Tabellenblatt (Tabellenblatt4) zu schreiben und von dort mit entsprechenden Formeln zu filtern und zusammenzufassen.

soweit die Theorie ...


Angehängte Dateien
.xlsm   Liste.xlsm (Größe: 1,11 MB / Downloads: 11)
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#6
Hallo

anbei meine bisherige Arbeit, mit dem Ergebnis bin ich aber nicht ganz zufrieden.
Ich habe einiges an Mkros geandert, und die Grösse der UF3 verkleinert, weil die UFs nicht auf meinen kleinen Laptop Bildschirm passen.  
Die Datei habe ich nur für meine Test in Tabelle2 auf 100 Zeilen verkleinert!  Vorher war sie über 1,1 MB.

Neu ist das sofort mit der Rechnung auch der Verkauf in Blatt2 gebucht wird, ohne Tabelle4 zu benutzen.  Dafür habe ich in der UF3 oben rechts eine TextBox für den Art Text im Verkauf mit eingefügt.  Bitte selbst entscheiden wo man den besser unterbringt!  Die Summen füge ich auch ein wenn man die Summen TextBox anklickt und weitergeht.

Die Rechnung wird erst gedruckt wenn der Art Text direkt mit angegeben wird.  Dadurch ersparen wir uns m.E. überflüssigen Aufwand.  Was mit garicht gefaellt ist das Zahlenformat bei den Preisen und Porto ohne EU Zeichen!!  Das hat mich ziemlich genervt.  Ich finde aber zur Zeit keine Abhilfe dafür.

Vielleicht weiss ein Kollege dazu Rat??   

mfg Gast 123


Angehängte Dateien
.xlsm   Liste - T2 F.xlsm (Größe: 76,36 KB / Downloads: 7)
Antworten Top
#7
Hallöchen,

in der Zelle steht kein € sondern nur die Zahl.
Teste es mal so:
Code:
Sub test()
MsgBox Range("H25") & vbLf & Format(Range("H25"), "# €")
End Sub
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#8
Hallo 

@Schauan  in der Spalte Einzelpreis sollte das EU Zeichen erscheinen.  In der neuen Beispieldatei klappt es endlich!

Ich habe eine neue Beispieldatei mit verbessertem Makro für UserForm3 ins Forum gestellt.
Würde mich freuen wenn diese Version jetzt besser klappt und Alltagstauglich ist ...

mfg  Gast 123


Angehängte Dateien
.xlsm   Liste - T3 F.xlsm (Größe: 73,15 KB / Downloads: 23)
Antworten Top
#9
Guten Morgen, Hallo Gast123,

inzwischen läuft das Makro perfekt. Dafür vielen Dank. Nun habe ich ja noch eine "Einkauf"-Tabelle (Tabelle4) die ich mit einer Userform fülle. Das bekomme ich inzwischen problemlos hin. Ich hatte die Idee Gast's Makro auch für die Tabelle 4 umzuschreiben, bin jedoch kläglich gescheitert auch wenn ich einiges aus dem Makro verstanden habe.
Hier wünche ich mir noch einfch fachkundige Hilfe.
Die letzte angehängte Datei (Liste - T3 F.xlsm )habe ich nochmal etwas verändert, so dass die Tabelle 4 jetzt, beginnend ab Reihe 2 die Werte Datum in Spalte B, Bemerkungen in Spalte C und die Summe je nach Angabe in die entsprechende Spalten L bis O in die Tabelle 2 eingefügt werden. Dazu soll derer CommandButton 3 "Speichern" ein Makro auslösen, dass die Werte in die nächste freie Zeile der Tabelle 2 überträgt.

Ich hoffe, ich habe mich verständlich ausgedrückt und danke Euch, und besonders Gast123, schon mal für die großartige Unterstützung.
Ergänze sinnvoll: Huhn ...blind ... Korn Laola
Antworten Top
#10
Hi Tanja,
mal eine Anfängerfrage:
beschäftige mich auch gerade mit Userform.
Warum kann ich bei deinem letzten angehängten Vordruck den ersten Vordruck (Tabelle1)über den Button nicht öffnen?
Gruss Markus
Antworten Top


Gehe zu:


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