Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: bereich Text oder Zahl finden

bereich Text oder Zahl finden
02.02.2020 15:58:06
wolfgang
Hallo zusammen,
ich bin nach der Suche eines Makros, welches entweder einen Text oder eine
Zahl sucht.
In der Sheet G1 steht der Wert, der gesucht werden soll.
Der Suchbereich von B2 bis F...ende
habe mal dies zusammengebastelt aber ohne Erfolg:
Dim Suchbegriff As String
Dim Weiter, rng As Range
Dim akz
ActiveSheet.Range("g1").Select
akz = ActiveCell
Suchbegriff = InputBox(Chr(13) & Chr(13) & "Gefunden ist : ", "suchen ", akz)
Set rng = Range("B2:F65000").Find(What:=Suchbegriff, LookIn:=xlValues, lookat:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False)
If Not rng Is Nothing Then rng.Activate
nochmal:
Weiter = MsgBox("Weitersuchen?", vbYesNo, "Text oder Ziffer eingeben ")
If Weiter = vbYes Then
Set rng = Cells.FindNext(After:=ActiveCell)
'If Not rng Is Nothing Then rng.Activate
'GoTo nochmal
If Not rng Is Nothing Then
rng.Activate
Else
GoTo fehler
End If
End If
Exit Sub
fehler:
Weiter = MsgBox("Suchbegriff nicht gefunden!", vbInformation, "Ergebnis:")
vielleicht hat jemand da einen durchblick ?!
mfg wolfgang
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: bereich Text oder Zahl finden
02.02.2020 16:24:56
Nepumuk
Hallo Wolfgang,
teste mal:
Public Sub Suchen()
    Dim Suchbegriff As String, strFirsAddress As String
    Dim rng As Range
    
    Suchbegriff = InputBox(vbLf & vbLf & "Gefunden ist : ", "suchen ", Range("G1").Text)
    
    With Range("B:F")
        
        Set rng = .Find(What:=Suchbegriff, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
        If Not rng Is Nothing Then
            strFirsAddress = rng.Address
            Do
                rng.Activate
                If MsgBox("Weitersuchen?", vbYesNo, "Text oder Ziffer eingeben ") = vbYes Then
                    Set rng = .FindNext(After:=rng)
                Else
                    Exit Do
                End If
                If rng.Address = strFirsAddress Then _
                    If MsgBox("Das war der letzte Eintrag." & vbLf & vbLf & _
                    "Nochmal von vorne?", vbYesNo Or vbQuestion, "Abfrage") = vbNo Then Exit Do
            Loop
            Set rng = Nothing
        Else
            Call MsgBox("Suchbegriff nicht gefunden!", vbInformation, "Ergebnis:")
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
Hallo Nepumuk SUPER ...
02.02.2020 17:16:03
wolfgang
Hallo Nepumuk,
super Danke.
Wenn ich auf NEIN drücke beim nochmaligen suchen bleibt der
Courser nicht auf der gefundenen Zelle stehen.
Frage noch:
könnte man die Zeile von der gefundenen Fläche von B-F selectieren ?
mfg Wolfgang
AW: Hallo Nepumuk SUPER ...
02.02.2020 17:28:08
Nepumuk
Hallo Wolfgang,
kann ich nicht nachvollziehen. Bei mir bleibt der Cursor auf der letzten Fundstelle stehen. Es gibt nach dem Exit Do auch keine Codezeile die das bewirken könnte.
Ganze Zeile selectieren geht so:
Public Sub Suchen()
    Dim Suchbegriff As String, strFirsAddress As String
    Dim rng As Range
    
    Suchbegriff = InputBox(vbLf & vbLf & "Gefunden ist : ", "suchen ", Range("G1").Text)
    
    With Range("B:F")
        
        Set rng = .Find(What:=Suchbegriff, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
        If Not rng Is Nothing Then
            strFirsAddress = rng.Address
            Do
                Call rng.EntireRow.Select
                If MsgBox("Weitersuchen?", vbYesNo, "Text oder Ziffer eingeben ") = vbYes Then
                    Set rng = .FindNext(After:=rng)
                Else
                    Exit Do
                End If
                If rng.Address = strFirsAddress Then _
                    If MsgBox("Das war der letzte Eintrag." & vbLf & vbLf & _
                    "Nochmal von vorne?", vbYesNo Or vbQuestion, "Abfrage") = vbNo Then Exit Do
            Loop
            Set rng = Nothing
        Else
            Call MsgBox("Suchbegriff nicht gefunden!", vbInformation, "Ergebnis:")
        End If
    End With
End Sub

Gruß
Nepumuk
Anzeige
Danke Courser geht auf G1
02.02.2020 17:50:29
wolfgang
Hallo Nepumuk,
der Courser geht auf G1.
gruß wolfgang
Sorry Nepumuk, mein Fehler -)
02.02.2020 17:59:48
wolfgang
Hallo Nepumuk,
war mein Fehler, hatte das Button über ein anderes Makro gestartet,
alles GUT.
schönen gruß wolfgang
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige