Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: lexipator am Juni 29, 2016, 11:49:46 Vormittag
-
Hey,
ich bin, was Makros o.ä. angeht, blutiger Anfänger.
Ich habe mir aus dem Internet ein Such-Makro für nen Button rausgesucht, funktioniert auch super, aber:
Ich würde es gern nur eine Spalte (D) eines Blattes durchsuchen lassen, anstatt die ganze Tabelle, da die gesuchten Werte auch an anderer, unwichtiger Stelle auftreten können.
Kann mir wer helfen?
Danke!
Public Sub SearchAllTables()
Dim ws As Worksheet
Dim c
Dim firstAddress As String
Dim secAddress
Dim GFound As Boolean
Dim GWeiter As Boolean
GWeiter = False
GFound = False
anf:
SSearch = InputBox("Suchen nach:", "Search In All Tables", SSearch)
If SSearch = "" Then
End
End If
weiter:
For Each ws In Worksheets
'ws.Select
With ws.Cells
Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
If Not c Is Nothing Then
GFound = True
ws.Select
c.Select
firstAddress = c.Address
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbYes Then
Do
Set c = .FindNext(c)
secAddress = c.Address
If c.Address = firstAddress Then
Exit Do
End If
c.Select
If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbNo Then
GWeiter = True
GoTo ende
End If
Loop While Not c Is Nothing And secAddress <> firstAddress And c.Address <> firstAddress
Else
GWeiter = True
GoTo ende
End If
End If
End With
Next ws
ende:
If GFound = False Then
If MsgBox("Suchwert nicht gefunden ! Neue Suche ?", vbInformation + vbYesNo) = vbYes Then
GoTo anf:
End If
Else
If GWeiter = False Then
If MsgBox("Sie haben alle Tabellenblätter durchsucht ! Soll die Suche neu gestartet werden ?", vbInformation + vbYesNo) = vbYes Then
GoTo weiter
End If
End If
End If
End Sub
-
niemand eine Idee?
-
Moin,
ich denke, dass es anderen Profis ähnlich geht wie mir: Alle drei Sprung-Adressen (anf:, weiter:, ende:) sind in dieser Form nicht nötig, ich empfinde sie als unsauberen Programmierstil. Es sind noch weitere Ungereimtheiten drin … Und da geh ich erst einmal gar nicht dabei. - Wenn meine Kunden mir so etwas präsentieren, gibt es für mich 2 Möglichkeiten: Neu schreiben oder einen Kollegen zu suchen empfehlen, der sich daran die Finger verbrennen will.
Prinzipiell finde ich es sehr gut, dass du dir die Mühe gemacht hast, einen "halbwegs" passenden Code im Netz zu finden und auf deine Bedürfnisse anzupassen. Das ist Engagement, welches ich bei sehr vielen Fragestellern in diversen Foren einfach vermisse. Als erste Möglichkeit würde ich versuchen, mit dem Verfasser des Codes Kontakt aufzunehmen, der sollte am ehesten wissen, wie das auf deine Bedürfnisse anzupassen ist.