Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Search Makro

VBA Search Makro
19.08.2005 15:53:06
Gladmin
Hallo,
bin in Bereich VBA noch ein Neuling, habe heute damit begonnen.
Benötige ein Makro, dass mir aus einer Excel Tabelle, alle Werte einer bestimmten Person raussucht.
In meiner Tabelle sind etwa 150 Zeilen und 26 Spalten.
Die Spalte Q ist für die Suche ausschlaggebend. Wenn die Person Meier in Spalte Q gefunden wird, muss die Zelle markiert werden und die Suche fortgesetzt werden. Wenn Meier in einer weiteren Zeile, der Spalte Q, gefunden wird, sollen beide "Funde" markiert werden usw..
Habe da folgendes Makro geschrieben, dass jedoch bei einem erneuten Fund in Spalte Q die forangegangene Markierung verwirft.
_____________________________________________________________________________

Sub ProvisionsRechner()
'Provision
'Erstellt von .... am 19.08.2005
Sheets("Ausgangstabelle").Select
Cells.Find(What:="Meier", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
End Sub

_____________________________________________________________________________
1. Wie kann ich mein Makro so veändern, dass alle Funde "Meier" markiert bleiben bzw. für eine übergabe an eine zweite Tabelle gespeichert bleiben.
2. Wie oben beschrieben besteht ja meine Ausgangstabelle nicht nur aus der Spalte Q, sondern auch aus 25 weiteren Spalten.
Nun benötige ich zu dem Suchvorgang(siehe oben) weitere spezifische Informationen zu Herrn Meier. Wie kann ich mit einem weiteren Befehl mit Bezug zu Meier und der entprechenden Zeile Daten einlesen und an eine zweite Tabelle übergeben?
Wenn die zweite Frage zu Aufwändig ist, bitte wenigstens die erste versuchen zu lösen.
Danke

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Search Makro
19.08.2005 16:32:39
IngGi
Hallo Gladmin Gladi?,
warum übernimmst du die Daten nicht per Formel (SVERWEIS)?
Falls du VBA üben willst, folgende Anregung:
Du könntest, wie von dir beschrieben, zunächst alle "Meier" suchen und markieren. Wenn alle "Meier" markiert sind, müsstest du die Markierung irgendwie auf alle Spalten ausweiten, die dich interessieren. Schließlich könntest du das Ganze in das andere Tabellenblatt kopieren.
Besser wäre es aber, du programmierst eine Schleife (Do...Loop until...). In der Schleife suchst du zunächst den ersten "Meier". Anschließend kopierst du aus dieser Zeile alle relevanten Zellen in das andere Tabellenblatt. Dann sorgst du bei "Loop Until" dafür, dass die Schleife solange durchlaufen wird, wie noch weitere "Meier" gefunden werden. Somit werden auch bei diesen weiteren "Meier" die entsprechenden Daten kopiert.
Hier mal dein bisheriger Code und das Schleifengerüst:

Dim rng As Range
Sheets("Ausgangstabelle").Select
rng = Sheets(1).Range("Q:Q").Find(What:="Meier", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
Do
'Hier diversen Code zum kopieren der Daten einfügen
rng = Sheets(1).Range("Q:Q").FindNext
Loop Until rng Is Nothing
Gruß Ingolf

Anzeige
AW: VBA Search Makro
19.08.2005 16:38:59
IngGi
...'tschuldigung, "Set" vergessen - Hier nochmal der Code

Dim rng As Range
Sheets("Ausgangstabelle").Select
Set rng = Sheets(1).Range("Q:Q").Find(What:="Meier", After:=ActiveCell, LookIn:=xlValues, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False)
Do
'Hier diversen Code zum kopieren der Daten einfügen
Set rng = Sheets(1).Range("Q:Q").FindNext
Loop Until rng Is Nothing
Gruß Ingolf
AW: VBA Search Makro
19.08.2005 17:04:43
Gladmin
Vielen Dank für die Hilfe,
denke ich bin jetzt auf dem richtigen weg. Werde die Schleife am WE einbetten.
Grüße

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige