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.

Erweitertes Suchmakro?
#1
Hallo zusammen,

ich habe mir beizeiten ein Makro in meine Tabelle eingebaut welches nach Eingabe eines Suchwortes in das betreffende Feld den nächsten Eintrag gleichen Namens sucht, dies allerdings nur einmalig...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$3" Then
Cells.Find(What:=Range("$E$3"), After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
End If
End Sub

Frage: a) funktioniert das überhaupt, und b) wenn ja WIE müsste man dieses Makro modifizieren, daß auch die folgenden gleichen Einträge gefunden werden?!?

Eine kurze Restwoche wünscht
Klaus
Antworten Top
#2
Bitte, verwende Code Tags.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#3
Hallo,

dann suche mal nach "find next"
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#4
Hallo

da das Makro mit Recorder aufgezeichnet wurde funktioniert.  Anbei eine geaenderte Version wenn man alle Zellen im Blatt anspringen will, mit Abbruch über Cancel, oder Ende wenn Zelle "E3" ereicht wurde. Erscheint -keine MsgBox- gibt es den Begriff nur einmal in der Zelle die angesprungen wird.  

Zum Suchlauf selbst:  "xlPart" heisst Teilwort suchen, "xlWhole" heisst die Zelle muss komplett übereinstimmen.  Gesucht wird hier in Zeilen, will man Spalten von Oben nach unten druchsuchen muss man den Code von "xlByRows" auf "xlByColumns" aendern!  Gross Kleinschreibung ist hier deaktiviert. Sonst muss MatchCase auf True stehen.  Ich erwaehne es nur um zu zeigen das es diesen Suchlauf in mehreren Varianten gibt. 

mfg  Gast 123 

Code:
Dim rFind As Object, ok As Variant

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$3" Then
  Cells.Find(What:=Range("$E$3"), After:=ActiveCell, LookIn:=xlFormulas, _
  LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
  MatchCase:=False, SearchFormat:=False).Activate
 
  If ActiveCell.Address <> Target.Address Then
     Set rFind = Cells.FindNext(ActiveCell)
     If rFind.Address = "$E$3" Then Exit Sub
     Do
        ok = MsgBox(ActiveCell.Address(0, 0), vbOKCancel)
        If ok = vbCancel Then Exit Sub
        Cells.FindNext(ActiveCell).Activate
     Loop Until ActiveCell.Address = "$E$3"
  End If
End If
End Sub

'LookAt:=xlPart, SearchOrder:=xlByRows      sucht Parts im Text in Zeilen
'LookAt:=xlWhole, SearchOrder:=xlByCoumns   sucht -ganzes Wort- in Spalten  
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Calafati
Antworten Top
#5
Hallo Gast123,

das funktioniert ganz prima!
Danke für Deine Mühe!

Viele Grüße
Klaus
Antworten Top


Gehe zu:


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