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.

VBA, Arbeitsmappe durchsuchen und in den Ergebnissen "weiter springen"
#1
Hallo zusammen,

ich habe folgendes Problem, für welches ich schon einen Lösungsansatz habe:
Ich habe eine Arbeitsmappe mit über 100 Blättern, in welchen immer nach dem gleichen Schema Tabellen enthalten sind. Das erste Tabellenblatt heißt "Suche". Per VBA würde ich gerne eine Suche erstellen, in der man einen Begriff eingeben kann und dieser entsprechend in allen Blättern gesucht wird. Das erfüllt der folgende Code bereits. Das Problem ist nur, dass die Suche nach dem ersten gefundenen Begriff aufhört.
Ich hätte gerne, dass man per Tab o. Ä. von Blatt zu Blatt springen kann und der gesuchte Begriff markiert wird. Gibt es da eine Möglichkeit?

Danke im Voraus für eure Hilfe! Angel

Mein bisheriger Code:

Code:
Option Explicit
Sub suchen()
Dim strSuch As String, ws As Integer, rng As Range, strNeu As String
Start:
Do
strSuch = InputBox("Wonach wird gesucht?" & Chr(13) & "Mindestens 3 Buchstaben angeben!")
If strSuch = "" Or Len(strSuch) = 0 Then Exit Sub
Loop While Len(strSuch) < 3
ws = 1
Do While ws <= Worksheets.Count
Sheets(ws).Select
Set rng = Cells.Find(What:=strSuch, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
 xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
 , SearchFormat:=False)
If rng Is Nothing And ws = Worksheets.Count Then
strNeu = MsgBox("Keine Begriff gefunden!" & Chr(13) & "Möchten sie erneut suchen?", vbYesNo)
If strNeu = vbNo Then
Exit Sub
Else
GoTo Start
End If
ElseIf rng Is Nothing And ws < Worksheets.Count Then
ws = ws + 1
Else
rng.Select
Exit Sub
End If
Loop
End Sub
Antworten Top
#2
Hallo, :19:

das "Springseil" bringt Excel schon von Haus aus mit: :21: 

.xlsx   Suchen_Alle_Anzeigen.xlsx (Größe: 35,27 KB / Downloads: 6)
________
Servus
Case
Antworten Top
#3
(18.10.2018, 08:09)Lisa1503 schrieb: Gibt es da eine Möglichkeit?
Moin Lisa!
Ja, die gibt es:
Strg+F
Optionen, Suchen in: Arbeitsmappe, Weitersuchen
Wozu also VBA??
Wenn Du dies unbedingt (aus Langeweile?) nachbauen willst, dann musst Du die Sheets anders durchschleifen.
For i = 1 To Worksheets.Count
und gleichzeitig die jeweils erste Fundstelle in einer Variable merken und mit .FindNext arbeiten.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Lisa1503
Antworten Top
#4
Hallo Lisa,

dieses Makro wurde bereits mit Excel mitgeliefert und kann mit Strg+f
gestartet werden.

siehe
https://www.youtube.com/watch?v=yh3C0lp7qy4


lg
Chris
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
Antworten Top


Gehe zu:


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