Moin moin,
ich habe hier ein mehr oder weniger grosses Problem. Ich habe mir als Arbeitserleichterung vorgenommen eine Excel Tabelle zu erstellen welche ich mit Daten fuellen kann. Die Eingaben sollen ueber einen Button "Neuer Eintrag" gestartet werden. Darauf folgen dann immer neue Userforms welche mit einzelnen Textboxen mit Daten befuellt werden sollen. Nach der Eingabe aller Daten soll auf der "Master Tabelle" alle Eingaben in eine Zeile geschrieben werden. Das besondere ist hierbei, das wenn aus einer Listbox ein bestimmter Wert ausgewaehlt wurde, das zusaetzlich zur Master Tabelle auch die Eintraege in die richtige "Untertabelle" geschrieben werden.
Hoert sich vielleicht ziemlich wirr an aber ich versuche das mal anhand eines Beispiels zu erklaeren.
Namen der Spalten: Name, Marke, Uhrzeit, Dringlichkeit, Land
Tabellen: Master, Audi, VW, BMW
So nach Druecken des "Neuer Eintrag" Buttons erscheint die erste Userform mit der Aufforderung zur Eingabe des Namens(Textbox) und dann die der Marke(Combobox), Uhrzeit (Textbox), Dringlichkeit(Textbox) und Land(Textbox).
Wenn jetzt zum Beispiel bei einem Eintrag "BMW" ausgewaehlt wurde, wird der Datensatz in die Masterfolie geschrieben und aber auch die Tabelle BMW.
Bei einem neuen Datensatz soll das gleiche natuerlich fuer die anderen Tabellen auch funktionieren.
Ich habe das ganze schon so weit das es funktioniert. Nur mein Problem ist, es funktioniert nur einmal. Weil ich leider nicht so im VBA Stoff stecke um mit Variablen oder aehnlichem umzugehen.
Ich wuerde sehr gerne von euch einen Tipp bekommen wie ich am besten die Eingaben abspeichere und dann den Datensatz in die einzelnen Tabellen schreiben zu koennen. Auch weiss ich nicht so recht wie ich die Felder auf Inhalt pruefe um dann den Datensatz in die naechste Zeile schreiben zu lassen.
Ich hoffe ich konnte euch halbwegs mein Problem beschreiben.
Private Sub CommandButton1_Click()
Sheet1.Range("I2").Value = Userform10.Textbox1.Value
If Userform4.Listbox1.Value = "BMW" Then
Sheet1.Range("A2", "I2").Copy _
Destination:=Sheet2.Range("A2")
Else
If Userform5.Listbox1.Value = "Audi" Then
Sheet1.Range("A2", "I2").Copy _
Destination:=Sheet3.Range("A2")
Else
If Userform6.Listbox1.Value = "VW" Then
Sheet1.Range("A2", "I2").Copy _
Destination:=Sheet4.Range("A2")
End If
End If
End if
Meine Vorgangsweise funktioniert wie gesagt nur einmal dann wird bei einer zweiten Eingabe natuerlich der aktuelle Datensatz ueberschrieben.
Bitte helft mir :-)
Alex
|