Ich möchte mit einer Userform Daten Spaltenweise bearbeiten und Begriffe jeweils einfügen oder löschen!
In meine Beispieltabelle in Spalte A die Farben, Spalte B das Material und Spalte C die Kathegorie! Nun möchte ich über die Userform in der Combox (die Automatisch mit den Überschriften aus Tabelle1 befüllt werden soll) z.B. Farbe auswählen, dann sollen automatisch alle Farben in der Listbox erscheinen, diese würde ich gerne in der Listbox auswählen und mit dem CommandButton "Löschen" löschen können einzeln! Mit dem CommandButton "Hinzufügen" möchte ich gerne in der Listbox und in der Tabelle natürlich neue Farben hinzufügen können oder Kathegorien!
Die absolute Krönung wäre wenn Sich die Spalte nach Hinzufügen oder Löschen eines Begriffes automatisch alphabetisch sortiert!
Da ich nicht programmieren kann würde ich mich über möglichst viel Hilfe freuen!
Ich hoffe ich habe mich etwas verständlich ausgedrückt! :)
habe jetzt mit meinen Möglichkeiten :) ein wenig gebastelt! Und es funktioniert zum größten Teil :)
Was ich allerdings nicht hinbekomme, ist:
1. Die Sortierfunktion, dass diese je nachdem in welche spalte was hinzugefügt wurde oder gelöscht wurde sortiert wird und zwar den Bereich von Zeile 2 bis zur letzten gefüllten Zelle in der jeweiligen Spalte! 2. Die Namen im Namenmanager würde ich auch gerne flexibel gestalten also bis zur letzten befüllten Zelle!
Private Sub cmdHinzufügen_Click() Dim strEingabe As String Dim lngLetzteZeile As Long Dim rngVorhanden As Range 'eine Inputbox für die Neuaufnahme eines Produktes strEingabe = InputBox("Geben Sie ein Produkt ein", "Neueingabe") 'wenn in der Inputbox nichts eingetragen, abbrechen gedrückt oder die ComboBox nichts enthält verlasse die Sub If strEingabe = "" Or ComboBox1.ListIndex = -1 Then Exit Sub With Worksheets("Tabelle1") Set rngVorhanden = .Columns(rngUberschriften.Column).Find(strEingabe, LookIn:=xlValues, lookat:=xlWhole) If Not rngVorhanden Is Nothing Then Exit Sub 'erste leere Zelle in der betreffenden Spalte suchen lngLetzteZeile = .Cells(.Rows.Count, rngUberschriften.Column).End(xlUp).Row + 1 'wert eintragen .Cells(lngLetzteZeile, rngUberschriften.Column).Value = strEingabe 'und sotrieren .Columns(rngUberschriften.Column).Sort key1:=.Cells(1, rngUberschriften.Column), order1:=xlAscending, Header:=xlYes End With
End Sub
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28 • cysu11