Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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 ?
Antworten 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
Antworten Top
#3
Ok Vielen DANK für die Hilfe, funktioniert
Antworten Top


Gehe zu:


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