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

Suche mit VBA

Suche mit VBA
silke
Hallo, ich habe folgendes Problem.
C11:C1130 wird nach dem Suchbegriff in G9 durchsucht.
Wenn der Suchbegriff nicht gefunden wird soll eine
Fehlermeldung "Suchbegriff nicht gefunden" ausgegeben werden.
Leider habe ich keine Ahnung wo ich das einfügen muß.
Ist der Code überhaupt Ok oder gibt es da etwas zu verbessern?
Bin für eure Hilfe sehr dankbar
schöne Grüße
Silke
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
Dim sFirst As String
Dim iCnt As Integer
Dim arrRows() As Integer
If Target.Address = "$G$9" Then
Application.ScreenUpdating = False
Range("C11:C1130").Rows.Hidden = False
If [G9] = "" Then Application.ScreenUpdating = True: Exit Sub
Set rng = Range("C11:C1130").Find(What:=[G9], LookIn:=xlValues, LookAt:=xlPart)
If Not rng Is Nothing Then
sFirst = rng.Address
ReDim Preserve arrRows(iCnt)
arrRows(iCnt) = rng.Row
iCnt = iCnt + 1
Do
Set rng = Range("C11:C1130").FindNext(after:=rng)
If rng.Address = sFirst Then Exit Do
ReDim Preserve arrRows(iCnt)
arrRows(iCnt) = rng.Row
iCnt = iCnt + 1
Loop
Range("C11:C1130").Rows.Hidden = True
For iCnt = 0 To UBound(arrRows)
Rows(arrRows(iCnt)).Hidden = False
Next
End If
End If

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

Betreff
Benutzer
Anzeige
AW: Suche mit VBA
19.02.2006 14:55:48
Peter
Hallo Silke,
setz die frohe Botschaft zwischen deinen beiden End If
End If
MsgBox "der Begriff > " & [G9] & " 64, " Hinweis für " & Application.UserName
End If
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Suche mit VBA
19.02.2006 14:58:44
Nepumuk
Hallo Silke,
so?
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim sFirst As String
    Dim iCnt As Integer
    Dim arrRows() As Integer
    If Target.Address = "$G$9" Then
        If Trim$(Target.Text) <> "" Then
            Application.ScreenUpdating = False
            Range("C11:C1130").Rows.Hidden = False
            Set rng = Range("C11:C1130").Find(What:=[G9], LookIn:=xlValues, LookAt:=xlPart)
            If Not rng Is Nothing Then
                sFirst = rng.Address
                Redim Preserve arrRows(iCnt)
                arrRows(iCnt) = rng.Row
                iCnt = iCnt + 1
                Do
                    Set rng = Range("C11:C1130").FindNext(after:=rng)
                    If rng.Address = sFirst Then Exit Do
                    Redim Preserve arrRows(iCnt)
                    arrRows(iCnt) = rng.Row
                    iCnt = iCnt + 1
                Loop
                Range("C11:C1130").Rows.Hidden = True
                For iCnt = 0 To UBound(arrRows)
                    Rows(arrRows(iCnt)).Hidden = False
                Next
            Else
                MsgBox "Nix gefunden", vbExclamation, "Hinweis"
            End If
            Application.ScreenUpdating = True
        End If
    End If
End Sub

Gruß
Nepumuk

Anzeige
AW: Suche mit VBA
19.02.2006 15:28:17
silke
Hallo Nepumuk,
Danke für die Hilfe, läuft einwandfrei.
Silke
AW: Suche mit VBA
19.02.2006 15:07:16
Peter
Hallo Silke,
so sieht es besser aus:
End If
If iCnt = 0 Then
MsgBox "der Begriff > " & [G9] & " 64, " Hinweis für " & Application.UserName
End If
End If
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Suche mit VBA
19.02.2006 15:30:08
silke
Hallo Peter,
Danke für die Hilfe, auch Deine Lösung läuft bestens.
Silke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige