Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige