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

Daten suchen

Daten suchen
11.03.2006 17:54:54
Fritz
Hallo schönen Nachmittag!
Ich würde gerne folgendes lösen.
Möchte in eine Inputbox einen suchbegriff eingeben der mir definierte tabellen (sagen wir tabelle 1, 2 und 3) durchsucht. wird der suchbegrif nicht gefunden soll eine meldung erscheinen. wenn er gefunden wird soll die gefundene zelle grün eingefärbt werden.
danke

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten suchen
11.03.2006 18:12:36
Xelleron(Dennis)
Hallo Fritz,
das wäre eine Möglichkeit (ist aber nicht von mir, von Herber dierekt)

Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox("Bitte Suchbegriff eingeben:")
For Each wks In Worksheets
Set rng = wks.Cells.Find( _
what:=sFind, _
lookat:=xlWhole, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
If MsgBox( _
prompt:="Weiter", _
Buttons:=vbYesNo + vbQuestion _
) = vbNo Then Exit Sub
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
Next wks
MsgBox prompt:="Keine neue Fundstelle!"
End Sub

Gruss Dennis
Anzeige
AW: Daten suchen
11.03.2006 18:35:31
Fritz
Danke funktioniert super.
kann ich das noch so ändern das nicht die gesamte mappe durchsucht wird sondern nur betimmte tabellenblätter?
danke
AW: Daten suchen
11.03.2006 19:26:26
chris
Das geht so.
Gruß Christian

Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox("Bitte Suchbegriff eingeben:")
Set wks = Worksheets("Tabelle1")
Set rng = wks.Cells.Find( _
what:=sFind, _
lookat:=xlWhole, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
Do
Application.Goto rng, True
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
If MsgBox( _
prompt:="Weiter", _
Buttons:=vbYesNo + vbQuestion _
) = vbNo Then Exit Sub
Set rng = Cells.FindNext(after:=ActiveCell)
If rng.Address = sAddress Then Exit Do
Loop
End If
MsgBox prompt:="Keine neue Fundstelle!"
End Sub

Anzeige
AW: Daten suchen
11.03.2006 19:40:11
Fritz
Danke!
Kann ich das noch erweitern das ich z.B die tabelle 1 und 2 durchsuchen kann?
AW: Daten suchen, abbrechen
11.03.2006 21:57:06
Werner
Hallo,
gefällt mir wie kann man das Macro so ändern, dass nur die erste Fundstelle gefunden wird und die Box ob weiter oder nicht einfach gar nicht mehr eingeblendet wirn und das Macro beendet wird?
Werner
AW: Daten suchen, abbrechen
11.03.2006 23:12:20
chris
Hallo das geht so.

Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
sFind = InputBox("Bitte Suchbegriff eingeben:")
Set wks = Worksheets("Tabelle1")
Set rng = wks.Cells.Find( _
what:=sFind, _
lookat:=xlWhole, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
Application.Goto rng, True
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
End If
End Sub

Anzeige
AW: Daten suchen, abbrechen
11.03.2006 23:31:37
Fritz
Hallo!
Ich weis ich bin schwierig.
aber kannst mir bitte noch sagen wie ich jetzt die suche auch auf tabelle 2 ausdehnen kann?
danke!!!!
AW: Daten suchen, abbrechen
13.03.2006 01:05:17
Mustafa
Hallo Fritz,
beim Code unten hast du die Möglichkeit vorzugeben bis zu welchem Tabllenblatt du suchen möchtest.
Ausserdem wird bei Finden eines Wertes, die suche nicht fortgesetzt.
Wenn du willst das die Suche alle Werte Markiert dann nimm das " Exit Sub " raus.

Private Sub CommandButton1_Click()
Dim wks As Worksheet
Dim rng As Range
Dim sAddress As String, sFind As String
Dim iFind As Integer, I As Integer
On Error GoTo 10
iFind = InputBox("Suche bis zu welchem Tabellenblatt?")
sFind = InputBox("Bitte Suchbegriff eingeben:")
If Not sFind = "" Then
For I = 1 To iFind
Set wks = Worksheets("Tabelle" & I)
Set rng = wks.Cells.Find( _
what:=sFind, _
lookat:=xlWhole, _
LookIn:=xlFormulas)
If Not rng Is Nothing Then
sAddress = rng.Address
Application.Goto rng, True
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
Exit Sub
End If
Next
End If
10 Exit Sub
End Sub

Rückmeldungen sind immer gerne gesehn.
Viele Grüße aus Köln.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige