VBA Suchfunktion?
Hey.
Ich brauch mal euren Rat.
Ich möchte in einer festgelegten Matrix nach einem Wert suchen und sobald ich die Zelle mit dem Wert gefunden habe möchte ich diese Zeile aktivieren.
Ehrlich gesagt habe ich keine wie diese Funktion in VBA auszusehen.
Bitte helft mir.
3 Antworten
Ich weiß nicht, was Du unter aktivieren verstehst, aber das folgende µ wählt die gefundene Zeile aus, und das recht schnell.
Die Setzungen sind im Makro selbst vorgenommen, das ließe sich natürlich besser über Input-boxes machen.
Wenn es das ist, was Du brauchst, kann ich das nachliefern. Auch Msgbox, zB "String in definierter Range nicht gefunden" usw ist möglich, alles zusammen würde das aber auf das 3..5-fache verlängern.
- Sub FindenZeileAuswählen()
- 'funktioniert in dieser einfachen Form (ohne großes Drumrum)
- Dim Was As String, Wo As Range
- Was = "XX"
- Set Wo = Range("C3:G9")
- ActiveSheet.Cells.Find(What:=Was, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).EntireRow.Select
- End Sub
Bitte Rückmeldung, ob es das war oder was sonst es hätte sein sollen.
Angenommen Dein zu suchender Wert steht in A1 und die zu durchsuchende Matrix ist B1:H10, dann diesen Code:
Sub Suchen()
Dim SuchZelle As Range
Dim Bereich As Range
Dim Zelle As Range
Dim Gefunden As Boolean
Set SuchZelle = Range("A1") 'anpassen?!
Set Bereich = Range("B1: H10") 'anpassen?!
For Each Zelle In Bereich
If Zelle.Value = SuchZelle.Value Then
Zelle.Select
Gefunden = True
Exit For
End If
Next Zelle
If Gefunden = False Then MsgBox "Nicht gefunden"
End Sub
Teste mal genau.
Klappt es?
ich kämpfe seit langem immer wieder mal mit find, weil das viel schneller ist als For Each Cell in Range. Bei so kleinen Ranges spielt das allerdings kaum eine Rolle.
Du kannst mit dem Makrorekorder die manuellen Schritte aufzeichnen. Der normale Suchen-Dialog (Strg + f) sollte hierfür ausreichen. Auch wird dir dann der Selektionsbefehl angezeigt. Du wirst nur noch Feinheiten nacharbeiten müssen.
Ich meinte: In dem Fall kann ich das nicht aufzeichnen....
mein Recorder zeichnet den Finden-Dialog nicht auf, sondern nur das Auswählen der Zeile!
In dem kann ich das nicht aufzeichnen. Das Programm stellt mit einem SAP Programm her in dem es die Arbeiten durchführt und in dem Fall kann ich keine "manuelle" Suchfunktion in Anspruch nehmen.
Probiere ich morgen und Rückmeldung kommt dann morgen Danke erstmal