Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblätter suchen

Tabellenblätter suchen
04.01.2022 16:28:30
Yannik
Hallo ich hätte da ein Problem.
Gibt es die Möglichkeit über ein Makro Tabellenblätter zu suchen? Wenn man viele Blätter in einer Datei hat. Stelle mir das so vor das ich eine Zelle als Eingabe nutze, wo man die zu suchende Tabellenblattname eintragen kann und dann diese geöffnet wird. Wenn kein Blatt gefunden wird bekommt man eine Nachricht.
Habt ihr da Ideen?

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auch ohne VBA möglich ...
04.01.2022 16:42:07
neopa
Hallo Yannik,
... und zwar wenn Deine Tabellenblattname z.B. in H1 steht, dann kannst Du z.B. mit folgender Formel in einer beliebigen Zelle Deiner Wahl:
=HYPERLINK("#"&H1&"!A1";"spring in "&H1&"!A1") kannst Du gleich zu der da angegebenen Zelladresse springen, wenn es das Tabellenblatt gibt. Wenn es das Blatt nicht gibt bekommst Du eine Bezugsfehlermeldung.
Gruß Werner
.. , - ...
AW: stelle die Datei bitte im Forum ein owT
06.01.2022 20:01:44
neopa
Gruß Werner
.. , - ...
AW: stelle die Datei bitte im Forum ein owT
06.01.2022 21:28:58
Yannik
Wie soll ich den eine Website als Datei einstellen ?
AW: Tabellenblätter suchen
04.01.2022 16:50:38
volti
Hallo Yannik,
hier eine VBA-Lösung, wobei auch nur Teil des Blattnamens ausreichen würden. Hierzu * einsetzen.
Den Code in das Tabellenblattmodul Deines Eingabeblattes platzieren.
Ggf. noch das Eingabefel, hier A1, anpassen.
Code:

[Cc]

Private Sub Worksheet_Change(ByVal Target As Range) ' Blatt aktivieren, unterstützt *-Suche Dim WSh As Worksheet If Target.Address = "$A$1" And Target.Value <> "" Then For Each WSh In ThisWorkbook.Worksheets If WSh.Name Like Target.Value Then WSh.Select: Exit Sub End If Next WSh End If MsgBox "Das Blatt '" & Target.Value & "' wurde nicht gefunden!", vbCritical, "Blatt aktvieren" End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige
AW: Tabellenblätter suchen
04.01.2022 16:55:17
Matthias
Hallo,

Option Explicit
Sub suche_Blatt()
Dim WKS As Worksheet
For Each WKS In ThisWorkbook.Worksheets
If WKS.Name = Worksheets("Suchtabelle").Cells(1, 1).Value Then
WKS.Activate
Exit Sub
End If
Next
MsgBox "Blatt nicht gefunden ...", vbInformation
End Sub
Gruß Matthias
AW: Tabellenblätter suchen
04.01.2022 21:22:01
Piet
Hallo
wenn du viele Tabellen hast ist es sicher sinnvoll ganz am Anfang eine Übersichts Tabelle einzufügen und sich alle Tabellen aufzulisten.
Im Internet findest du auch den Code um die Tabellen als Hyperlinks aufzulisten. Dann kannst du sie direkt anspringen.
mfg Piet
  • 
    Sub Tabellen_auflisten()
    For j = 2 To Worksheets.Count
    Cells(j, 1) = j - 1
    Cells(j, 2) = Worksheets(j).Name
    Next j
    End Sub
    

  • Anzeige
    und warum schreibst Du mir das ?
    05.01.2022 19:44:24
    Matthias
    Hallo Piet,
    ich habe selbst eine funktionierende Lösung an den Fragesteller gepostet.
    Du solltest also besser vorher checken an wen Du Deine Nachricht schickst.
    Mir kommt das immer etwas überheblich vor wenn jemand einen Beitrag an einen Helfer postet.
    Ich habe das schon 2020 und 2021 kritisiert, das viele Helfer nicht in der Lage sind ihre Beiträge dort zu platzieren
    wo sie auch hingehören. Das werde ich auch 2022 weiterhin tun.
    Gruß Matthias
    AW: und warum schreibst Du mir das ?
    05.01.2022 20:26:52
    Piet
    Hallo Matthias
    mein Code war nicht an dich gerichtet sondern an den Frager! Als Empfehlung sich eine Übersichtstabelle als Liste anzulegen.
    Ich weiss im Augenblick auch nicht was ich in dem kurzen Text geschrieben habe das du dich persönlich angesprochen fühlst?
    mfg Piet
    Anzeige
    AW: und warum schreibst Du mir das ?
    05.01.2022 20:36:04
    Matthias
    das ist ganz einfach ...
    Du hast meine Antwort angeklickt und dann darauf geantwortet.
    Das sieht man eindeutich an der "Einrückung".
    Userbild
    Klick also in Zukunft auf die Frage des Fragestellers, dann ist es auch korrekt platziert.
    AW: Sorry, das war mir NICHT bekannt! oWt
    05.01.2022 21:44:06
    Piet
    ,,,
    AW: Tabellenblätter suchen
    04.01.2022 18:09:48
    Yal
    Hallo Yannik,
    schon so viele Antwort, wozu eine andere.
    Hier geht es um einen UDF, eine User Defined Function, die Du im Blatt wie eine Excel-Foreml verweden kann.
    Öffne Visual Basic Editor (Alt + F11),
    füge einen "Modul": Einfügen , Modul
    Copy-Paste folgende Code:
    
    Public Function Blatt_existiert(Optional ByVal Blattname)
    'gibt Name des Blatt zurück, wenn vorhanden, sonst Fehler
    'ist kein Name gegeben, wird den Namen des aktuellen Blattes zurückgegeben
    On Error Resume Next
    Blatt_existiert = Evaluate("=NA()") 'default
    If IsMissing(Blattname) Then
    Blatt_existiert = ActiveSheet.Name
    Else
    Blatt_existiert = ThisWorkbook.Worksheets(CStr(Blattname)).Name
    End If
    End Function
    
    Dann kannst Du den als Formel:
    =Blatt_existiert(A1)
    Man könnte auch WAHR/FALSCH zurückgeben, aber man will ja meistens aus den Namen etwas machen.
    Das Zurückgegeben von einem Fehler erlaubt die Verwednung der Formel WennFehler:
    =WENNFEHLER(Blatt_existiert(A1);"Nicht vorhanden")
    oder
    =WENNFEHLER(Blatt_existiert(A1);Blatt_existiert())
    VG
    Yal
    Anzeige
    AW: Tabellenblätter suchen
    06.01.2022 17:57:54
    Yannik
    Hallo, ich melde mich wieder!
    Ich habe leider nicht die Kenntnisse, die ich gerne hätte. Ich bin jetzt aber ein bisschen weiter.
    Bedauerlicherweise muss ich euch mitteilen das es um Google Tabellen geht. Also so weit ich mich im Internet belesen habe funktioniert VBA nicht mit Google Tabellen. Also habe ich so viele gute Lösungswege, die ich bedauerlicherweise nicht verwenden kann. Der Lösungsweg mit den Hyperlinks habe ich ausprobiert und funktioniert ungünstigerweise nicht. Ich habe die Formel 1zu1 kopiert und ein Tabellenblatt mit dem Namen TEST erstellt, in H1 habe ich genauso TEST eingeben und lande leider im Tabellenblatt wo ich die Eingabe eingegeben habe.
    Ich danke trotzdem allen Usern, die sich so schnell gemeldet haben und mir versucht haben zu helfen und hoffe, dass die VBA Wege jemand anderen helfen können oder es jemanden gibt der VBA kompatibel mit Google Tabellen machen kann.
    MFG Yannik
    Anzeige
    AW: stell doch mal (D)eine Beispieldatei ein ...
    06.01.2022 19:17:57
    neopa
    Hallo Yannik,
    ... damit ich sehe, wie Du meinen VBA-freien Vorschlag umgesetzt hast, der in Google Tabellen bei Dir nicht funktioniert.
    Gruß Werner
    .. , - ...
    Es heisst "Excel-Forum" und nicht "Google-Sheet-F"
    06.01.2022 22:20:53
    Yal
    Hallo Yannik,
    es war ja eine kleine, aber nicht ganz unwesentliche Information, die Du uns mitteilen hätte sollen...
    Versuche mit
    =ISTBEZUG(Tabellenblatt1!A1)
    sollte "WAHR" zurückgeben (wenn Tabellenblatt1 vorhanden ist). wiederum
    =ISTBEZUG(Tabellenxxblatt1!A1)
    sollte "FALSCH" zurückgeben.
    Steht aber die Information Tabellenblatt1 in Zelle B2, verwende dann:
    =ISTBEZUG(INDIREKT(B2&"!A1"))
    VG
    Yal
    Anzeige
    AW: zur Funktion ISTBEZUG() ...
    07.01.2022 09:09:32
    neopa
    Hallo Yal,
    ... diese gibt zumindest in älteren XL-Versionen im letztendlich immer WAHR aus, so wie Du Deine erste Formel definiert hast, wenn man die von dieser Funktion zwischenzeitliche "Aufforderung" nach einer Datei ignoriert. Deshalb ist der Einsatz dieser Funktion mE z.B. nur so zu empfehlen, wie von Dir in der letzten Formel getan.
    Aber dem TE geht es mE nicht (nur) darum zu prüfen, ob es ein entsprechendes Tabellenblatt in einer Datei gibt sondern er möchte sicherlich gleich dieses "besuchen". Denn wozu sollte er sonst prüfen, ob es dies gibt?
    Gruß Werner
    .. , - ...
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige