mehrfach Suche ausgabe auf Extrablatt

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

Betrifft: mehrfach Suche ausgabe auf Extrablatt
von: Kruse
Geschrieben am: 01.05.2015 18:16:27

Hallo Exelgemeinde
Wie kann ich mit VBA einen Textstring in
einer Tabelle suchen und wenn er gefunden wird,
für jede Fundstelle im Extrablatt die Zeile einfügen,
die jeweilige Zeile sollte aber nur einmal vorkommen.
Danke und Gruß
Karl-Heinz

Bild

Betrifft: Falls zu träge für VBA-Abläufe:
von: lupo1
Geschrieben am: 01.05.2015 19:12:17
Du könntest die Formel http://www.excelformeln.de/formeln.html?welcher=224 auch in VBA verwenden.

Bild

Betrifft: AW: Falls zu träge für VBA-Abläufe:
von: Kruse
Geschrieben am: 02.05.2015 07:26:13
Hallo Lupo
Danke für den Vorschlag, ich möchte aber nicht
nur in Spalte A sondern in mehreren Spalten suchen
und das über 1000 Zeilen
schon mal besten Dank für eure Mühe
Gruß
Karl-Heinz

Bild

Betrifft: AW: Falls zu träge für VBA-Abläufe:
von: Kruse
Geschrieben am: 03.05.2015 09:52:59
Hallo Excelgemeinde
Ich habe nach einer neuen Suche
hier im Forum was in etwa mein Problem
löst gefunden.
Wenn ich in Tabelle2 zmb. Haus suche
kopiert das Makro die jeweilige Zeile
nach Tabelle1 die Bedingung sollte aber sein
das sie diese Zeile nur einmal kopiert siehe Zeile 3 und 4
Des weiteren sollten auch Teile vom Wort gefunden werden
und auch Zahlen ist das möglich ?
https://www.herber.de/bbs/user/97430.xlsm
Gruß
Karl-Heinz

Bild

Betrifft: Vorschlag
von: Michael
Geschrieben am: 03.05.2015 18:16:23
Hallo Karl-Heinz,
versuche mal folgendes Makro:

Option Explicit
Sub FindenUndKopieren()
Dim iRowS As Integer, iRowT As Integer
Dim sWord As String
Dim rngSuchbereich As Range
Dim rngZelle As Range
sWord = InputBox( _
prompt:="Suchbegriff:", _
Default:="8")
If sWord = "" Then Exit Sub
sWord = UCase(sWord)
iRowT = 1
iRowS = 0
Set rngSuchbereich = Worksheets(2).UsedRange
For Each rngZelle In rngSuchbereich
    If InStr(UCase(rngZelle.Text), sWord) > 0 And iRowS <> rngZelle.Row Then
        iRowS = rngZelle.Row
        Worksheets(2).Rows(rngZelle.Row).Copy Worksheets("Tabelle1").Rows(iRowT)
        iRowT = iRowT + 1
    End If
Next
End Sub
Ich habe Deine Variable iRowS für das benutzt, was Du Dir vorgestellt hattest: sie merkt sich die Zeile der gefundenen Zelle, und es wird nur dann kopiert, wenn der Fund sich in einer neuen Zeile befindet.
Weiterhin wird mit "instr" nach Teilen von Begriffen gesucht, und mit .text nach einzelnen (oder mehreren) Ziffern in Zahlen.
Evtl. wäre es wünschenswert, unabhängig von Groß- und Kleinschreibung zu arbeiten? Ich hab Dir mal noch zwei Ucase reingesetzt, die das erledigen - Du kannst sie ja wieder rausnehmen, wenn Du sie nicht willst.
Viel Spaß,
Michael

Bild

Betrifft: AW: Vorschlag
von: Kruse
Geschrieben am: 03.05.2015 20:17:22
Hallo Michael
genau das hab ich gesucht
Danke und Gruß
Karl-Heinz

Bild

Betrifft: Danke für die Rückmeldung, owT
von: Michael
Geschrieben am: 04.05.2015 15:48:50


 Bild

Beiträge aus den Excel-Beispielen zum Thema "mehrfach Suche ausgabe auf Extrablatt"