Das Archiv des Excel-Forums

ComboBoxDaten in Abhängigkeit filtern o. Userform

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: ComboBoxDaten in Abhängigkeit filtern o. Userform
von: Andreas

Geschrieben am: 20.05.2008 23:17:22

Hallo Excelexperten,
Nach langem erfolglosen suchen möchte ich nun bei euch mein glück versuchen.
habe folgende frage:
situation. tabelle1 hat spalte a nummern, b sind bezeichnungen, e bis... sind monate, pro monat 4 spalten
zu jeder bezeichnung steht in zeile und spalte eines monats ein x oder nicht (ja/nein) sozusagen
so in tabelle 2 habe ich ein combifeld, in dem ich monat anwählen kann (aus tabelle 3, Kalender)
in spalte a sind dann die tage runterwärts pro zeile drin.
nun habe ich für jeden tag (pro Zeile) in spalte i combiboxen angelegt. mit denen kann ich dann auf die nummern und bezeichnungen in Tabelle 1 zugreifen und die Auswahl in die zeilen setzen.(mit ListFillRange)
Mein problem ist nun, das die nummern und bezeichnungen nach dem gewählten monat gefiltert werden sollen und da noch zusätzlich nur die mit dem "x". und die in den Combiboxen der zeilen ausgegeben werden.
hoffe es ist verständlich (mein 1. Versuch)und jemand hat eine idee...vielen dank schon mal im voraus
Gruß an die Excel-freunde....andreas

Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userform
von: fcs
Geschrieben am: 21.05.2008 11:44:12
Hallo Andreas,
die meiner Meinung nach beste Lösung ist, die für den gewählten Monat relevanten Nummern/Bezeichnungen in ein separates Blatt zu übertragen und den Listenauswahlbereich mit einem Namen zu versehen. Dieser Name wird dann in den Comboboxen in Spalte I als ListFillRange verwendet.
Die Makros zur Aktualiserung der Auswahlliste werden vom Change-Ereignis der Monats-Combobox gestartet.
Alternativ könnte man auch die AddItem-Methode verwenden, um die ComboBoxen mit der Auswahlliste zu füllen. Dann muss man jedoch dafür sorgen, dass die Liste zum richtigen zeitpunkt mit Daten versorgt wird. Außerdem wird es kopliziert den Inhalt einer verknüpften Zelle zu verwalten, da die Auswahllisten beim Öffnen der datei leer sind.
Hier eine Beispieldatei, die in etwa auf deine Fragestellung zugeschnitten ist.
https://www.herber.de/bbs/user/52508.xls
Gruß
Franz

Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: Andreas

Geschrieben am: 21.05.2008 23:46:49
Hallo Franz
erst mal vielen vielen dank für deine Mühe und Antwort
die beispielmappe sieht auf den ersten blick super aus, fast so wie meine
respekt, hatte nicht gedacht, das meine erklärung ausreicht
ich werde die mappe, bzw die Makros bei mir testen, wird aber etwas dauern, bin halt noch anfänger mit
so was, und geb dir dann noch mal kurz info wie es klappt...
kurze frage noch dazu, wenn ich etwas länger brauche, siehst du meine antwort oder rückfrage dann noch?
ich hoffe es, denn ich kann nachfragen noch nicht ausschließen.
nochmals danke und lob an das forum, ist ne super sache
gruß an alle
andreas

Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: fcs
Geschrieben am: 22.05.2008 04:08:25
Hallo Andres,
ich hab mir den Link auf diesen Thread gespeichert, so dass ich einfach checken kann, ob noch weiter Fragen sind.
Wäre aber hilfreich, wenn du mir ggf. zusätzlich eine kleine E-Mail schickst, dass noch Fragen sind.
Die E-Mail-Adresse findest du unter Forums-Seiten--Profile--Profilliste Name: fcs
Gruß
Franz

Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: Andreas

Geschrieben am: 24.05.2008 18:35:10
Hallo Franz
Habe alle Code in meine Mappe kopiert, hoffe an die richtigen stellen, und dementsprechend angepasst.
auch die Bereichsnamen und Eigenschaften der Felder/Boxen hab ich angepasst.
jetzt macht er aber bei der monatswahl immer Fehler, geht in den code und sagt Variable nicht definiert.
und zwar bei demfolgenden Makro , das hab ich in das Blatt mit der Monatscombobox kopiert.
'Ereignismakros im Tabellen-Blatt


Private Sub ComboBox1_Change() 'Combobox mit Monatsauswahl
'Setzen der Tabellen-Objekte
Set objWksData = Worksheets(strDaten)
Set objWksAuswahl = Worksheets(strAuswahl)
'Auswahlliste Aktualisieren
Call AuswahllisteMonat(Me.ComboBox1.Value)
'Listfillrange der Comboboxen in Spalte I aktualisieren
Call ListFillRangeCombos_I("Auswahl.Bezeichnung")
End Sub


weiß nicht welche variable er meint und wo die definiert werden muß. markiert ist immer das "(strDaten)"
vieleicht hab ich nur falsch reinkopiert...
danke im Voraus
Gruß andreas

Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: fcs
Geschrieben am: 24.05.2008 21:32:07
Hallo Andreas,
sieht so aus, als ob du die Deklaration der Variablen und Konstanten nicht komplett kopiert hast.


Option Explicit
'Konstanten im Blatt mit den Auswahldaten
Private Const strDaten As String = "Tabelle1" 'Tabellenblatt-Name (Blatt mit den "X")
Private Const lngDataZ1 As Long = 3 '1. Zeile mit Nummer
Private Const lngSpJanuar As Long = 5 'Nummer der Spalte mit x im Monat Januar
Private Const lngSpMonat As Long = 4 'Anzahl Spalten je Monat
'Konstanten im Blatt mit den ComboListen (nur erforderlich für Zwischenspeicherbuttons)
Private Const lngEinZ1 As Long = 3 'Zeile der 1. Combobox in Spalte I
'Konstanten im Blatt mit den Auswahllisten
Private Const strAuswahl As String = "Kalender" 'Tabellenblatt-Name
Private Const lngAuswNummer As Long = 3 'Spalte mit Nummer in Auswahlliste
Private Const lngAuswZ1 As Long = 3 '1. Zeile der Auswahlliste
'Objektvariablen für die Tabellenblätter
Private objWksData As Worksheet 'Tabellenblatt mit Auswahldaten
Private objWksEingabe As Worksheet 'Tabellenblatt mit Comboboxen (nur für Zwischenspeicher- _
Buttons)
Private objWksAuswahl As Worksheet 'Tabellenblatt mit Auswahllisten
Private arrSpalteI() 'Array zum Zwischenspeichern der Werte in Spalte


Der Ort wo du die Prozedurn hinkopiert hast schein OK zu sein. Im VBA-Editor unter dem Blatt mit den Komboboxen. Du kannst strDaten aber auch ersetzen durch den Namen des Tabellenblatts mit den X für die Monate in Anführungszeichen
Set objWksData = Worksheets(strDaten)
Set objWksData = Worksheets("TabelleXYZ")
Gruß
Franz

Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: Andreas

Geschrieben am: 24.05.2008 22:00:07
Hallo Franz
Da hast du recht, habe in der zwischenzeit weiterprobiert und dann rausgefunden, das ich zwar alles kopiert habe, aber immer in die unterschiedlichen Tabellenblätter...wie halt die anmerkung dahinter stand...
also zu auswahllisten usw. hab dann alles wie in der Beispieltabelle in die Comboliste getan und es ging...
aber nun hab ich das nächste kleine problem entdeckt, er zeigt mir nicht alle daten; die mit "X" sind; je monat an.
ich hab ja pro monat 4 Spalten (quasi für jede Woche im Monat eine)... und die "X" sind nicht nur in der ersten spalte eines monats..... ; es gibt auch bezeichnungen, wo in der zeile in allen 4 spalten des monats ein x steht, (diese sache ist so zu sagen jede woche vertreten)
was muß ich jetzt noch ändern, das die alle gefunden werden?
wenn ich den mai zum Bsp. nehme, sehe ich 6 auswahldaten, aber in der Tabelle sind es 24...
vielen dank ,hoffe du kannst mir nochmal helfen
achso, frage noch zu den Buttons zum Speichern, brauche ich die oder kann man die auch weglassen?
viele grüße (auch ans gesamte forum)
Andreas


Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: fcs
Geschrieben am: 25.05.2008 14:21:50
Hallo Andreas,
zur Erfassung aller 4 Spalten eines Monats muss noch eine weitere Prüfschleife eingebaut werden.
siehe Änderung im Anschluss.
Die Buttons zum Zwischenspeichern sind nur dann relevant, wenn du den Monat wechseln und anschließend die Werte des vorherigen Monats eintragen möchtest.
Gruß
Franz


Private Sub AuswahllisteMonat(strMonat As String)
'Aktualisert die Auswahlliste für den Monat entsprechend den gesetzten "x"
Dim intMonat As Integer, intI As Integer
Dim lngZeile As Long, lngZeileAusw As Long, lngSpalteX As Long
With objWksAuswahl
'Alte Daten der Auswahlliste löschen
.Range(.Cells(lngAuswZ1, lngAuswNummer), _
.Cells(lngAuswZ1, lngAuswNummer).End(xlDown).Offset(0, 1)).ClearContents
lngZeileAusw = lngAuswZ1 - 1
.Cells(lngAuswZ1 - 2, lngAuswNummer + 1).Value = strMonat
End With
With objWksData
'X-Spalte des Monats bestimmen, dazu müssen Monatsnamen als Langname (z.B. März) _
eingegeben sein, sonst Festlegung der Variablen intMonat per Select Case erforderlich.
intMonat = Month(CDate("1." & strMonat & " " & Year(Date)))
lngSpalteX = lngSpJanuar + (intMonat - 1) * lngSpMonat
'Prüfen der Zeilen für den Monat auf Eintrag "x"
For lngZeile = lngDataZ1 To .Cells(.Rows.Count, 1).End(xlUp).Row
'4 Spalten des Monats abarbeiten
For intI = 0 To 3
If LCase(.Cells(lngZeile, lngSpalteX + intI).Value) = "x" Then
lngZeileAusw = lngZeileAusw + 1
objWksAuswahl.Cells(lngZeileAusw, lngAuswNummer) = _
.Cells(lngZeile, 1).Value 'Nummer
objWksAuswahl.Cells(lngZeileAusw, lngAuswNummer + 1) = _
.Cells(lngZeile, 2).Value 'Bezeichnung
Exit For
End If
Next
Next
End With
'Bereich für Name "Auswahl.Bezeichnung" neu setzen
With objWksAuswahl
Application.Names("Auswahl.Bezeichnung").RefersTo = "='" & .Name & "'!" _
& .Range(.Cells(lngAuswZ1, lngAuswNummer), .Cells(lngZeileAusw, lngAuswNummer + 1)). _
Address
End With
End Sub



Bild

Betrifft: AW: ComboBoxDaten in Abhängigkeit filtern o. Userf
von: Andreas

Geschrieben am: 25.05.2008 22:54:54
Hallo Franz
Das funktioniert ja wunderbar, habe das makro geändert und alles getestet. alles super
auch wenn ich den ganzen code noch nicht ganz verstehe, aber ich hab wieder etwas dazu gelernt...
möchte mich herzlichst bei dir für deine Hilfe und Mühe bedanken.
wenn ich wieder was brauche, werde ich mit sicherheit hier suchen oder fragen
Vielen dank nochmal
gruß andreas

 Bild

Excel-Beispiele zum Thema "ComboBoxDaten in Abhängigkeit filtern o. Userform"

Dateinamen filtern download Filtern einer Zahl aus einer Zeichenfolge download
Daten eines bestimmten Jahres filtern download Nach ausgewählten Daten filtern download
Alle Datensätze >= Eingabewert filtern download Unter Einsatz von VBA nach Datum filtern download
Zuschlagszeit aus einer Gesamtzeit filtern download Tabelle nacheinander filtern und drucken download
Filtern und Kopieren download Filtern und Ergebnisse in Tabellen übertragen download
Tabelle nach kleinstem und größtem Datum filtern download Aus einer Adressliste je 10 Adressen pro PLZ filtern download
Mit VBA nach Datum filtern download Autofilter-Kriterien nach dem Filtern anzeigen download
Werte aus Zeichenfolgen filtern und berechnen download Blattschutz setzen und dennoch mit AutoFiltern download
Nach Datum filtern download Filtern von Daten und Übernahme in UserForm-ComboBox download
Zeilenweise filtern download Liste nach Kriterien Filtern und Ergebnisse in ListBox eintragen download
Autofilterkriterium abfragen und filtern download Filtern über VBA nach mehreren Kriterien download
Diagramm in Userform download XL-Dateien in UserForm listen download
UserForm an Excel-Fenster anpassen download Fundstellen in UserForm listen download
Module und UserForms austauschen download In einer Schleife auf Elemente einer UserForm zugreifen download
Werte in eine ComboBox einer UserForm übernehmen download Zellinhalt als Label-Aufschrift in UserForm download
Alle CheckBoxes einer UserForm ansprechen download Wenn kein Eintrag, UserForm nicht schließen download
Aktiven Drucker in UserForm wechseln download Text aus UserForm-Textbox in Variable einlesen download
UserForm in Abhängigkeit einer RefEdit-Auswahl anzeigen download Nur Buchstaben in eine UserForm-TextBox download
Wert in Tabelle suchen und in UserForm ausgeben download Tabellenblatt in UserForm download
Neue UserForm bedingt nach ComboBox-Auswahl aufrufen download Nach Ortsauswahl neue UserForm mit Ortsteilauswahl download
Textfelder in UserForm beim Start vorbelegen download Text aus UserForm in eine Zelle schreiben download
Verhindern des Schließens einer UserForm mittels Schließkreuz download Wert in UserForm-TextBox eintragen und selektieren download
Auf UserForm-CommandButton-Klick eine Internetseite aufrufen download ComboBox-Felder in UserForm aufklappen download
Eingabekontrolle bei UserForm download UserForm-ComboBox-Feld nach Tasteneingabe aufklappen download
Userform in der Entwicklungsumgebung anzeigen download Wert aus 2. UserForm-ComboBox-Spalte berechnen download
CheckBoxes in UserForms in eine Schleife einbinden download Anzahl von CheckBoxes in einer UserForm ermitteln download
Vereinfachte Datumseingabe über UserForm download Auslesen des ausgewählten Optionsfeldes in einer UserForm download
Werte von CheckBoxes in einer UserForm abfragen download Mit Drehfeld durch UserForm-TextBoxes blättern und Daten auslesen download
Mit TextBox-Werten in UserForm rechnen download Datensätze in UserForm auswählen und im Blatt löschen download
Bilder in UserForm und Bildgröße anpassen download Aktuelle Zeit über UserForm eintragen und Rennzeit berechnen download
Werte aus UserForm-TextBox in bestimmten Formate übertragen download UserForm als Fortschrittsanzeige download
AcrobatReader mit *.pdf-Dokument über UserForm starten download Zu einer aufrufenden UserForm zurückkehren download
In einer UserForm Berechnungen aufaddieren download Matrix in UserForm-ListBox einlesen download
Bereichsnamen in UserForm-ListBox auflisten und editieren download Spalte A mehrer Mappen in UserForm und aktives Blatt download
Adressfeld aus UserForm-ComboBox füllen download Ausgewählte Werte aus UserForm-ListBoxes addieren download
Mehrfachauswahl aus UserForm-ListBoxes in Tabelle eintragen download Gruppe von UserForm-ListBoxes über eine Schleife ansprechen download