Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1180to1184
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
Suchen in einer Spalte
Werner
Hallo Excelexperten,
ich versuche mit folgendem Code in einem Tabellenblatt nur die Spalte C durchsuchen zu lassen. Es wird aber das ganze Blatt mit allen Spalten durchsucht. Was ist falsch an dem Code?
Danke für jeden Hinweis.
Gruß
Werner F
Code
Sub Suche()
Dim rng As Range, rngSource As Range, rngStart As Range
Dim sbegriff As Variant
Dim iRow As Integer
sbegriff = Application.InputBox(prompt:="Geben Sie bitte den Namen ein:", Title:="Name   _
eingeben")
If sbegriff = "" Then GoTo Weiter
Set rng = Worksheets("Noten").Columns(3).Find(what:=sbegriff, LookIn:=xlValues, lookat:= _
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If rng Is Nothing Then
Beep
MsgBox "Der Suchbegriff wurde nicht gefunden!"
GoTo Ende
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
With Worksheets("Auswertung")
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
Worksheets("Auswertung").Select
End With
Ende:
Weiter:
Worksheets("Menü").Select
Range("a1").Select
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Suchen in einer Spalte
25.10.2010 10:46:15
Hajo_Zi
Hallo werner,
bei mir wird nur in C gesucht. GoTo braucht man eigentlich nicht.
Sub Suche()
Dim rng As Range, rngSource As Range, rngStart As Range
Dim sbegriff As Variant
Dim iRow As Integer
sbegriff = Application.InputBox(prompt:="Geben Sie bitte den Namen ein:", Title:="Name  _
eingeben ")
If sbegriff  "" Then
Set rng = Worksheets("Noten").Columns(3).Find(what:=sbegriff, LookIn:=xlValues, lookat:=  _
_
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not rng Is Nothing Then
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
With Worksheets("Auswertung")
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
.Select
End With
Else
Beep
MsgBox "Der Suchbegriff wurde nicht gefunden!"
End If
Else
Worksheets("Menü").Select
Range("a1").Select
End If
End Sub

Anzeige
AW: Suchen in einer Spalte
25.10.2010 11:05:47
Werner
Hallo Hajo,
danke für die schnelle Antwort.
Leider läuft das Makro bei mir nicht. es setzt mit der Fehlermeldung:
"Objektvariable oder With-Blockvariable nicht festgelegt"
ab. Im Code ist dann diese Zeile markiert:
If rng.Address = rngStart.Address Then
Was kann ich machen?
Gruß Werner F
AW: Suchen in einer Spalte
25.10.2010 11:25:26
Hajo_Zi
Hallo Werner,
ich hatte noch einen Punkt vergessen und paar Zeilen am ende. Bei mir läuft er durch.
Option Explicit
Sub Suche()
Dim rng As Range, rngSource As Range, rngStart As Range
Dim sbegriff As Variant
Dim iRow As Integer
sbegriff = Application.InputBox(prompt:="Geben Sie bitte den Namen ein:", Title:="Name  _
eingeben ")
If sbegriff  "" Then
Set rng = Worksheets("Noten").Columns(3).Find(what:=sbegriff, LookIn:=xlValues, lookat:=  _
_
xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not rng Is Nothing Then
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
With Worksheets("Auswertung")
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
.Select
End With
Else
Beep
MsgBox "Der Suchbegriff wurde nicht gefunden!"
End If
Else
Worksheets("Menü").Select
Range("a1").Select
End If
Set rng = Nothing
Set rngSource = Nothing
Set rngStart = Nothing
End Sub
Gruß Hajo
Anzeige
AW: Suchen in einer Spalte
25.10.2010 11:25:34
Tino
Hallo,
beim Aufruf von FindNext verwendest Du den gesamten Zellebereich (Cells)
Cells.FindNext(After:=rng)
Schreibe den zu durchsuchenden Bereich auch da entsprechend davor.
Worksheets("Noten").Columns(3).FindNext(After:=rng)
Gruß Tino
AW: Suchen in einer Spalte
25.10.2010 12:15:04
Werner
Hallo,
danke für die Hinweise!
Es klappt!
Gruß
Werner

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige