Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Begriff suchen und Combobox füllen

Begriff suchen und Combobox füllen
18.02.2008 11:23:29
J.
Hallo
Ich habe hier einen Code, der leider nicht ganz funktioniert. Das Problem ist, dass es sich um eine Combobox aus einer UserForm handelt und diese nicht mit Listfillrange geüllt werden kann.
Leider weiss ich jedoch nicht, wie ich den Code umändern soll, damit ich das ganze ans laufen bekomme.
Habe es schon mit .rowsource anstatt von .listfillrange versucht, aber das funktionierte nicht.
Hier ist mal der Code

Sub finden_eintragen()
Dim raZelle As Range
Set raZelle = Worksheets("Tabelle3").Rows(1).Find(Worksheets("Sonstiges").Range("G2"),   _
_
lookat:=xlWhole)
If Not raZelle Is Nothing Then
With Worksheets("Tabelle3")
Worksheets("Tabelle1").ComboBox1.ListFillRange"Tabelle3!" & .Range(.Cells(2, _
raZelle.Column), _
.Cells(IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp) _
. _
Row, .Rows.Count), raZelle.Column)).Address
End With
End If
End Sub


12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 11:53:10
Beverly
Hi,

Private Sub cboHalle_Change()
Dim raZelle As Range
Dim loZeile As Long
With Worksheets("Maschinen")
Set raZelle = .Range("A1:A" & IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)).Find(cboHalle, lookat:=xlWhole)
loZeile = raZelle.Row
Do
If .Cells(loZeile, 1)  raZelle Then Exit Do
loZeile = loZeile + 1
Loop
cboMaschListe.RowSource = "Maschinen!" & .Range(.Cells(raZelle.Row, 3), .Cells(loZeile - _
_
1, 3)).Address
cboMaschNr.RowSource = "Maschinen!" & .Range(.Cells(raZelle.Row, 2), .Cells(loZeile - 1, _
_
2)).Address
End With
End Sub




Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 13:06:50
J.
Hallo
ich kann zwischen dem Code und dem alten von der Funktion her keinen Unterschied erkennen.
könntest du vielleicht auch auf mein Problem bezüglich .listfillrange und .rowsource eingehen?

AW: Begriff suchen und Combobox füllen
18.02.2008 13:16:05
Beverly
Hi,
du schreibst, dass es sich um eine CombobBox in einem UserForm handelt - der von mir gepostete Code betrifft eine ComboBox im UserForm:

cboMaschListe.RowSource =




AW: Begriff suchen und Combobox füllen
18.02.2008 13:32:00
J.
Hmm leider habe ich leichte Probleme das auf den von mir geposteten Code anzuwenden, vorher hatte ich ja nur ra_zelle und nun hab ich auch noch lo_zeile.
Kannst du mir den Code von dir vlt erklären?

Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 14:28:00
Beverly
Hi,
ich bin von deinem Beispiel neulich ausgegangen. Bei einer Auswahl in der ComboBox cboHalle wird in Spalte A die erste Zelle mit der ausgewählten Hallennummer gesucht und von dort aus in einer Do-Schleife (dafür wird loZeile benötigt) so lange weiter gelaufen, bis die Hallennummer eine andere ist. Anschließend wird als RowSouce der Bereich aus Spalte B bzw. C von der ersten bis zur letzten in Spalte A gefundenen Zeile den beiden ComboBoxen zugewiesen. Auf diesem Weg werden dann in beiden CoboBoxen nur die Maschinen bzw. Maschinennummern angezeigt, die in der betreffenden Halle stehen.


Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 14:56:00
J.
Prima, jetzt hab ich das verstanden, aber so hat der alte Code ja eigentlich auch funktioniert.Nur wollte ich es bei dem Problem haben, dass nachdem man die Halle ausgewählt hat, und auch eine Auswahl in Combobox 2 oder 3 getroffen ha, die jeweils andere Combobox dementsprechen ausgefüllt wird.
Denn eine Auswahl in Box 2 oder 3 ist Eindeutig.
Wäre es möglich daran eine kleine Änderung vorzunehmen?
Ich habe gerade aber mal versucht diesen Code auf die andere Comboboxauswahl anzuwenden, bei der ich erst die Arbeitsgruppe auswähle, und danach in der nächsten Combobox eine Auswahl an verschiedenen Arbeitsschritten angezeigt werden. Leider klappt das aber nicht, da die einzelnen Kategorien nicht, wie zb bei den Hallen untereinander, sondern nebeneinander stehen.
Was kann ich denn in diesem Fall machen ?

Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 15:46:00
Beverly
Hi,
damit in beiden ComboBoxen die zu einander passenden Werte angezeigt werden, kann man den ListIndex verwenden, der ja im gegebenen Fall gleich ist

Private Sub ComboBox1_Change()
ComboBox2.ListIndex = ComboBox1.ListIndex
End Sub



Private Sub ComboBox2_Change()
ComboBox1.ListIndex = ComboBox2.ListIndex
End Sub


Wenn die Werte in Zeilen stehen, dann lässt sich die ComboBox nicht mit RowSource füllen - was ja sinngemäß "Quelle aus Zeilen" bedeutet. In diesem Fall muss man der ComboBox jeden Einzelwert direkt zuweisen. Dazu musst du aber die RowSource für die ComboBox bei den Eigenschaften löschen. Mit diesem Code werden die Werte aus A1 bis I1 der CombobBox1 zugewiesen


Private Sub UserForm_Activate()
Dim inSpalte As Integer
For inSpalte = 1 To 10
ComboBox1.AddItem Cells(1, inSpalte)
Next inSpalte
End Sub




Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 15:59:00
J.
Besten Dank,
das Erste habe ich bereits getestet und es funktioniert wunderbar!
Das andere werde ich gleich morgen früh testen! Nur ist es so, dass ich die Oberbegriffe für die eine Combobox bereits in Listenform habe, es gibt jedoch für jeden Oberbegriff mehrere Unterbegriffe , weshalb ich die Unterbegriffe auf dem Arbeitsblatt, in verschiedene Spalten geschrieben habe, bei denen der Oberbegriff die Überschrift ist. Daher ist es zunächst nicht nötig die Begriffe , wie du es gerade vorgeschlagen hast, einzeln in die Combobox zu schreiben.
Nur mit der von dir vorher bereits geschriebenen Formel kann ich nicht nach Eingabe eines Oberbegriffs, die einzelnen Spalten nach diesem Oberbegriff absuchen und dann die Unterbegriffe auflisten.
Kennst du da vielleicht eine andere Möglichkeit?

Anzeige
AW: Begriff suchen und Combobox füllen
18.02.2008 19:15:00
Beverly
Hi,
in Zeilen suchen kann man mit diesem prinzipellen Code (ähnlich wie bei der Suche in Spalten, nur dass der Bereich als Spaltenbereich angegeben wird)

Sub suchen_in_spalten()
Dim raZelle As Range
Set raZelle = Worksheets("Tabelle1").Range("A1:Z1").Find("Suchbegriff", lookat:=xlWhole)
If Not raZelle Is Nothing Then MsgBox raZelle.Column
End Sub




AW: Begriff suchen und Combobox füllen
19.02.2008 08:39:00
J.
Hallo
Ich habe jetzt in dem Code deine Zeile eingefügt, erhalte jedoch leider die Fehlermeldung, dass ein Objekt erforderlich ist.
Hier der Code

Sub suchen_in_spalten()
Dim raZelle As Range
Set raZelle = Worksheets("Arbeitsgruppen").Range("A1:Z1").Find(Worksheets("Sonstiges"). _
Range("K1"), lookat:=xlWhole)
If Not raZelle Is Nothing Then
With Worksheets("Arbeitsgruppen")
cboArbeitsschritte.ListFillRange = "Arbeitsgruppen!" & .Range(.Cells(2,  _
raZelle.Column), _
.Cells(IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp). _
_   Row, .Rows.Count), raZelle.Column)).Address
End With
End If
End Sub


Das Fett gedruckte wird nach der Fehlermeldung markiert.

Anzeige
AW: Begriff suchen und Combobox füllen
19.02.2008 08:45:00
J.

AW: Begriff suchen und Combobox füllen
19.02.2008 12:49:16
Beverly
Hi,
da sich die ComboBox cboArbeitsschritte offensichtlich nicht im Tabellenblatt "Arbeitsgruppen" befindet, musst du noch den Namen des Tabellenblattes davor schreiben

Worksheets("Tabelle1").cboArbeitsschritte.ListFillRange =




Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige