Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Suchfunktion erweitern
#1
Hallo,

ich habe folgende Suchfunktion bei mir

Sub Suchfunktion()
  Dim bFound As Boolean, bCancel As Boolean
  Dim rC As Range
  Dim tAddr As String
  Dim tSearch As String
  tSearch = InputBox("Suche nach:", "Suchen")
  If tSearch = "" Then Exit Sub
  With ActiveSheet.Cells
      Set rC = .Find(tSearch, LookIn:=xlValues)
      If Not rC Is Nothing Then
          tAddr = rC.Address
          Do
              rC.Select
             
              rC.Resize(1, 4).Interior.ColorIndex = 4
              bCancel = MsgBox("Artikel:" & rC.Value, vbRetryCancel) = vbCancel
              rC.Resize(1, 4).Interior.ColorIndex = 0
              bFound = True
              Set rC = .FindNext(rC)
          Loop While Not rC Is Nothing And rC.Address <> tAddr And Not bCancel
      End If
  End With
  If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub


Ich habe nur das Problem das ich wenn ich einen Treffer habe , ich diesen nicht bearbeiten kann (zb. löschen des Eintrages )

gibt es die Möglichkeit zusätzlich zu abrechen und weiter noch die Funktion Löschen dazu zu fügen ?
Top
#2
Hallo,

eine Möglichkeit:




Code:
Sub Suchfunktion()
  Dim bFound As Boolean, bCancel
  Dim rC As Range
  Dim tAddr As String
  Dim tSearch As String
  tSearch = InputBox("Suche nach:", "Suchen")
  If tSearch = "" Then Exit Sub
  With ActiveSheet.Cells
      Set rC = .Find(tSearch, LookIn:=xlValues)
      If Not rC Is Nothing Then
          tAddr = rC.Address
          Do
              rC.Select
             
              rC.Resize(1, 4).Interior.ColorIndex = 4
              bCancel = MsgBox("Artikel:" & rC.Value _
              & vbLf & "zum Löschen Ja klicken" & vbLf & "zum Weitersuchen Nein klicken" & vbLf & "zum Beenden der Suche Abbrechen klicken", vbYesNoCancel)
              rC.Resize(1, 4).Interior.ColorIndex = 0
              Select Case bCancel
                Case 6
                  rC.ClearContents
                Case 2
                  bCancel = True
              End Select
              
              bFound = True
              Set rC = .FindNext(rC)
          Loop While Not rC Is Nothing And rC.Address <> tAddr And Not bCancel
      End If
  End With
  If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub

Den Text für die Msgbox kannst Du an den entsprechenden Stellen selber anpassen, denke ich.
Gruß Atilla
Top
#3
Ok Vielen DANK für die Hilfe, funktioniert
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste