Vorschlag
03.05.2015 18:16:23
Michael
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