Registriert seit: 23.02.2021
Version(en): Office App (windows 10)
23.02.2021, 03:15
(Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2021, 10:48 von WillWissen.
Bearbeitungsgrund: Schriftgröße
)
Moin zusammen, bin neu hier im Forum.
Kurz zu mir: ich arbeite schon lange mit ExCel, allerdings nur rudimentär und beherrsche nur die basics. Mein Kollege möchte etwas basteln, mit dem man zB durch Doppelclick auf eine bestimmte Zelle sieht in welchem sheet dieser Zelleninhalt, zB ein Name, ebenfalls enthalten ist. Hintergund ist, dass es in verschiedenen Themenbereichen und Projekten Überschneidungen gibt und man dadurch schnell sehen kann in welchem Projekt zB Gerät XYZ ebenfalls auftaucht.
Meine 1-stündige Suche hat leider nicht zum gewünschten Erfolg verholfen, vielleicht könnt Ihr mir weiterhelfen. Danke!
Registriert seit: 12.06.2020
Version(en): 2024, 365business
23.02.2021, 07:55
(Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2021, 07:59 von ralf_b.)
Moin,
suche nach vba Zellwert in allen Blättern suchen
den code ins codemodule des Arbeitsblattes, rechter Mausklick auf Arbeitsblattreiter Code anzeigen , einfügen
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rngZelle As Range
Dim strSuchbegriff As String, Ergebnis As String
Dim bytWeiter As Byte
Dim lngTabellen As Long
strSuchbegriff = Target.Value
If strSuchbegriff <> "" Then
For lngTabellen = 1 To Worksheets.Count
If Worksheets(lngTabellen).Name <> ActiveSheet.Name Then
With Worksheets(lngTabellen).UsedRange
Set rngZelle = .Find(strSuchbegriff, lookat:=xlPart, LookIn:=xlValues)
If Not rngZelle Is Nothing Then
firstAddress = rngZelle.Address
Do
Ergebnis = Ergebnis & IIf(Ergebnis = "", "", vbLf) & rngZelle.Parent.Name
' nächsten Treffer suchen
Set rngZelle = .FindNext(rngZelle)
Loop While Not rngZelle Is Nothing And rngZelle.Address <> firstAddress
End If
End With
End If
Next lngTabellen
If Ergebnis <> "" Then MsgBox Ergebnis
End If
Set rngZelle = Nothing
End Sub
Folgende(r) 1 Nutzer sagt Danke an ralf_b für diesen Beitrag:1 Nutzer sagt Danke an ralf_b für diesen Beitrag 28
• TechNoob777
Registriert seit: 23.02.2021
Version(en): Office App (windows 10)
23.02.2021, 12:40
(Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2021, 12:54 von TechNoob777.)
Danke, das klappt schonmal für einen worksheet, wie bekommt man es dazu, alle worksheets abzusuchen? Muss man vorher die worksheets verknüpfen oder dazu etwas im code anpassen?
Edit: der code, wenn man ihn in jeden worksheet einfügt, funktioniert doch so wie geplant. Vielen Dank!
Registriert seit: 12.06.2020
Version(en): 2024, 365business
For lngTabellen = 1 To Worksheets.Count
heißt übersetzt- von 1 bis Anzahl der Arbeitsblätter
If Worksheets(lngTabellen).Name <> ActiveSheet.Name Then
mache das Folgende nur wenn der Name Arbeitsblatt zu durchsuchenden Arbeitsblattes
nicht der Name des aktuellen Arbeitsblattes ist
With Worksheets(lngTabellen).UsedRange
der nachfolgende Code bezieht sich auf den benutzten Bereich des Arbeitsblattes aus der Liste der Arbeitsblätter
Somit werden bereits alle Blätter durchsucht nur nicht das wo due in die Zelle klickst.
Und ausgeblendete Zellen könnten auch von der Such ausgelassen werden.