Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
948to952
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
948to952
948to952
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Suchen in Spalte
11.02.2008 10:19:58
Schuster
Hallo,
ich habe ein Makro erstellt, das mir in einer anderen Datei in einer Spalte (hier C) Werte sucht und die Treffer-Zeile in diese Datei kopieren soll. Problem daran ist, dass bei Teilsuche (Suchbegriff: *4) die Einschränkung auf die Spalte nicht funktioniert (Das ganze Blatt wird durchsucht).
Die Eingabe der Begriffe erfolgt über Userform. (Es können auch mehrere Begriffe gesucht werden).
Hier das Makro für einen Begriff:
' Suche nach Angebotsnummer
Dim rng As Range, rngSource As Range, rngStart As Range
Dim varInput As Variant
Dim iRow As Integer
varInput = varInputAngebotsnummer ' Suchbegriff ändern (wird für verschiedene Begriffe verwendet)
If varInput = False Then Exit Sub
With Workbooks(sFN).Sheets(Daten)
Set rng = ActiveSheet.Columns(3).Find( _
What:=varInput, LookAt:=xlPart, LookIn:=xlValues) ' Columns ändern
If rng Is Nothing Then
Beep
MsgBox "Suchbegriff nicht gefunden!"
Exit Sub
End If
Set rngStart = rng
Set rngSource = rng.EntireRow
Do
Set rng = Cells.FindNext(After:=rng)
If rng.Address = rngStart.Address Then Exit Do
Set rngSource = Application.Union(rngSource, rng.EntireRow)
Loop
End With
With ThisWorkbook.Sheets("Suchen")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
If iRow = 1 Then iRow = 2 Else iRow = iRow + 3
rngSource.Copy .Cells(iRow, 1)
'.Columns.AutoFit
End With
Gruß Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen in Spalte
11.02.2008 10:40:33
Peter
Hallo Peter,
versuch es einmal mit: With Workbooks(sFN).Sheets(Daten).Columns(3)
Set rng =.Find(What:=varInput, LookAt:=xlPart, LookIn:=xlValues)
Gruß Peter

AW: Suchen in Spalte
11.02.2008 10:49:45
Erich
Hallo Peter,
die obere With-Klammer hast du im Code gar nicht genutzt,
damit hast du nicht in Sheets(Daten), sondern im aktiven Sheet gesucht.
Beim FindNext wird nicht in Columns(3), sondern (wg. Cells.FindNext) auf dem ganzen Blatt gesucht.
Probiers mal mit

Option Explicit
Dim varInputAngebotsnummer
Dim Daten
Dim sFN
Sub atest()                               ' Suche nach Angebotsnummer
Dim rng As Range, rngSource As Range, rngStart As Range
Dim varInput As Variant
Dim iRow As Integer
' Suchbegriff ändern (wird für verschiedene Begriffe verwendet)
varInput = varInputAngebotsnummer
If varInput = False Then Exit Sub
With Workbooks(sFN).Sheets(Daten).Columns(3)
Set rng = .Find(What:=varInput, LookAt:=xlPart, LookIn:=xlValues)
If rng Is Nothing Then
Beep
MsgBox "Suchbegriff nicht gefunden!"
Exit Sub
End If
Set rngStart = rng
Set rngSource = rng.EntireRow
Do
Set rng = .FindNext(After:=rng)
If rng.Address = rngStart.Address Then Exit Do
Set rngSource = Union(rngSource, rng.EntireRow)
Loop
End With
With ThisWorkbook.Sheets("Suchen")
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
If iRow = 1 Then iRow = 2 Else iRow = iRow + 3
rngSource.Copy .Cells(iRow, 1)
'.Columns.AutoFit
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige