Anzeige
Archiv - Navigation
476to480
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
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

MultiSelect, Auswahl auf 1 beschränken..?

MultiSelect, Auswahl auf 1 beschränken..?
28.08.2004 00:02:20
Dieter.K
Hallo Forum,
könnt Ihr mir helfen?
Ich benutze folgenden Code um einen Suchbegriff (über eine ComboBox) auszuwählen. Wenn dieser Suchbegriff mehrfach vorkommt (in diesem Fall der Name meines Kunden), werden sämtliche Zeilen mit dem Suchbegriff markiert. Ich möchte jedoch nur die tatsächlich ausgewählte Zeile markieren, da diese dann in ein anderes Tabellenblatt verschoben werden soll.

Sub MultiSelect2()
Dim wks As Worksheet
Dim rngFind As Range, rngRows As Range
Dim sFind As String, sSearch As String
sSearch = ComboBox11
Set rngFind = Cells.Find(sSearch)
If rngRows Is Nothing Then
Set rngRows = rngFind
End If
If Not rngFind Is Nothing Then
sFind = rngFind.Address
Do
Set rngRows = Application.Union(rngRows, rngFind.EntireRow)
Set rngFind = Cells.FindNext(After:=rngFind)
If rngFind.Address = sFind Then Exit Do
Loop
End If
rngRows.Select
End Sub

Beispiel:
Name "Müller" kommt insgesamt 3x vor. Zu jedem Eintrag gehört allerdings ein anderes Angebot. Wenn ich nun über den Namen "Müller" (über eine ComboBox) suche, möchte ich nur die Zeile mit dem Angebot "B" markieren und in ein anderes Tabellenblatt verschieben.
Ich hoffe, ich habe mich einigermaßen verständlich ausgedrückt und Ihr versteht was ich meine.
Danke für Eure Anregungen / Hilfen.
Gruß
Dieter.K

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: MultiSelect, Auswahl auf 1 beschränken..?
28.08.2004 11:02:47
Christoph
Hallo Dieter,
so ganz bin ich da nicht durchgestiegen...
hier ein Bsp wenn sich die Combobox in der selben Tabelle befindet wie deine Daten.
Gruß
Christoph
PS: wenn du die Zeile kopieren willst, dann kopier direkt und spar dir das "Select"

Option Explicit
Private Sub ComboBox1_Change()
Me.Rows(Me.ComboBox1.ListIndex + 1).Select
End Sub

AW: MultiSelect, Auswahl auf 1 beschränken..?
28.08.2004 13:03:54
Dieter.K
Hallo Christoph,
Dein Code funktioniert, wenn ich diesen wie folgt ändere:

Private Sub ComboBox1_Change()
Rows(Me.ComboBox1.ListIndex + 2).Select
End Sub

(ListIndex + 2, da ich eine Überschrift in der Tabelle habe) (denke ich zumindest, daß ich deshalb den Wert auf +2 ändern mußte). Warum es nur funktioniert wenn ich das "Me." vor "Rows" entferne, weiß ich allerdings nicht.
Nochmal zum Hintergund, damit die Sache vielleicht deutlicher wird:
In einer UF werden Angebote eingetragen. Die Daten des Kunden kommen aus einer anderen Tabelle. Jetzt ist es möglich, das zu einem Kunden mehrere Angebote eingetragen wurden.
Nun will ich aus einem Angebot einen Auftrag machen, d.h. ein Angebot aus dem Tabellenblatt "Angebote" ausschneiden und ins Tabellenblatt Aufträge einfügen. Suche ich nun über eine Combobox nach dem Kundennamen, so taucht dieser mehrfach auf, da die Suche über das Blatt "Angebote" erfolgt. Wähle ich nun einen Kundennamen aus, werden mir hierzu sämtliche Angebotsdaten eines bestimmten Angebotes angezeigt. Und genau diese Zeile möchte ich markieren und ausschneiden.
Dank Deiner Hilfe funktioniert es jetzt einwandfrei. Den ganzen Aufwand mit meinem "MultiSelect"-Code kann ich mir nun schenken. Dein Code funktioniert und ist viel kürzer.
Danke nochmals.
Gruß
Dieter.K
Anzeige
Danke für die Rückmeldung...
28.08.2004 13:32:53
Christoph
Hallo Dieter,
mag sein, das '97 das "Me" für die Tabelle (das Objekt "Tabelle") noch nicht kennt.
Statt dem "Me" könntest du aber z.B. "Sheets("Tabelle1").Rows...." schreiben
Das selbe gilt für das "Me" vor ComboBox.
Deine Vermutung bezgl der "+1" bzw. "+2" ist richtig. Der Listindex einer ComboBox (genauso ListBox) beginnt bei 0. Da es die Zeile 0 nicht gibt, muss also mindestens um eins erhöht werden.
Gruß
Christoph

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige