Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
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

Suchen

Suchen
12.03.2006 10:29:35
Fritz
Hallo zusamman!
Hatte gestern eine Frage ins Forum gestellt und zwar wollte ich einen suchbegriff in eine inputbox eingeben mehrere tabellenbläter durchsuchen lassen und die fundstelle grün unterlegen.
habe eine super lösung bekommen. die so aussieht
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
hab aber jetzt noch das problem das ich nicht nur die tabelle 1 durchsuchen will sondern mehrere definierte tabellen. Kann mir wer sagen wie ich den Code änder muss?
Danke!!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen
12.03.2006 10:41:22
Ramses
Hallo
Option Explicit
Option Base 1

Private Sub CommandButton1_Click()
    Dim wks As Worksheet, i As Integer
    Dim rng As Range
    Dim sAddress As String, sFind As String
    Dim wksSrchRange() As Variant
    wksSrchRange = Array("Tabelle1", "Tabelle3")
    sFind = InputBox("Bitte Suchbegriff eingeben:")
    For i = 1 To UBound(wksSrchRange)
        Set wks = Worksheets(wksSrchRange(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
        End If
    Next i
End Sub

Der Code durchsucht NUR die Tabellen die in "wksSrchRange = Array("Tabelle1", "Tabelle3")" aufgeführt sind
Gruss Rainer
Anzeige
AW: Suchen
12.03.2006 11:22:57
Fritz
Danke du hast mir sehr weiter geholfen
AW: Suchen
12.03.2006 12:21:22
Fritz
Hallo
Noch mal eine Zusatzfrage.
Ist es auch noch möglich eine meldung einzublenden wenn der datensatz nicht gefunden wurde?
Danke
AW: Suchen
12.03.2006 14:12:38
Ramses
Hallo
probiers mal
Option Explicit
Option Base 1

Private Sub CommandButton1_Click()
    Dim wks As Worksheet, i As Integer
    Dim rng As Range
    Dim sAddress As String, sFind As String
    Dim srcFound As Boolean, srcFoundString As String
    Dim wksSrchRange() As Variant
    srcFound = False
    srcFoundString = ""
    wksSrchRange = Array("Tabelle1", "Tabelle3")
    sFind = InputBox("Bitte Suchbegriff eingeben:")
    For i = 1 To UBound(wksSrchRange)
        Set wks = Worksheets(wksSrchRange(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
            srcFound = True
            srcFoundString = srcFoundString & vbCrLf & wks.Name & "!" & sAddress
        End If
    Next i
    If srcFound = True Then
        MsgBox "Suchbegriff: " & sFind & " wurde gefunden in:" & vbCrLf & srcFoundString
    Else
        MsgBox sFind & " wurde nicht gefunden"
    End If
End Sub

Gruss Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige