Clever-Excel-Forum

Normale Version: Verlinkung verschiedener sheets
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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!
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

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!
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.