Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1656to1660
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

Tabellen-Verzeichnis

Tabellen-Verzeichnis
13.11.2018 17:27:27
niclaus
Grüezi
Ich habe eine Datei "Muster1.xlsm". In der Tabelle1 führe ich ein Inhaltsverzeichnis der Tabellen dieser Datei mit der Function:
Function TabName(zahl)
TabName = Sheets(zahl).Name
End Function

Die Formel in A1 der Tabelle1 heisst
=TabName(ZEILE(A1))
Das klappt auch bestens – bis ich in einer andern Datei mit CTRL-ALT-F9 alles berechne. Dann werden in der der Datei "Muster1.xlsm" die Tabellen-Namen dieser andern Datei aufgeführt. Es ist mir klar, warum das geschieht: Weil sich meine Funktion TabName() immer auf die aktivierte Datei (ActiveWorkbook) bezieht.
Wie muss ich meine Funktion anpassen, damit in Muster1.xlsm in jedem Fall die Tabellen dieser Datei aufgeführt werden und nicht die Tabellen einer andern aktivierten Datei?
Vielen Dank für Eure Hinweise
Niclaus

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen-Verzeichnis
13.11.2018 17:34:00
niclaus
Hier noch ein Printscreen und die Datei "Muster1.xlsm".
PS: Wie kann ich in einem neuen Beitrag eine Datei hochladen? Der Button "Zum File-Upload" erscheint dort nicht.
Niclaus
Userbild
https://www.herber.de/bbs/user/125366.xlsm
AW: Tabellen-Verzeichnis
13.11.2018 17:58:35
onur
Wenn du mal aus Jux die Formel in A2 neu eingibst und anstelle von A1 einzutippen, mit der Maus die Zelle A1 der anderen Datei anklickst, müsstest du wissen, wie es geht, wen du dir die Formel anschaust.
Anzeige
AW: Tabellen-Verzeichnis
14.11.2018 12:22:34
niclaus
Hallo
Danke für den Hinweis. Das entspricht der Variante
Function TabName(zahl, rng as range)
TabName = rng.worksheet.parent.Sheets(zahl).Name
End Function

Grüsse Niclaus
AW: Tabellen-Verzeichnis
13.11.2018 17:54:43
Daniel
Hi
gibt da verschiedene Möglichkeiten.
damit verwendest du immer die Datei, in welcher sich der Code befindet.
könnte aber Probleme geben, wenn die Funktion in ein AddIN oder der Personl.xlsb ausgelagert ist oder sonstwie aus einer anderen Mappe heraus aufgerufen wird..
TabName = ThisWorkbook.Sheets(zahl).Name

damit verwendest du die Datei, in welcher sich die Formel befindet.
TabName = Application.Caller.Worksheet.Parent.Sheets(zahl).Name

mit folgendem Konstrukt könntest du die Datei, die so ausgewertet werden soll, frei auswählen, in dem du als zweiten Parameter eine Zelle aus der zu durchsuchenden Datei angibst
Function TabName(zahl, rng as range)
TabName = rng.worksheet.parent.Sheets(zahl).Name
End Function

oder du kombinierst die letzte Variante mit der zweiten und machst den zweiten Parameter optional, so dass du ihn nur angeben musst, wenn du eine andere Datei auswerten willst.
Function TabName(zahl As Long, Optional rng As Range) As String
If rng Is Nothing Then Set rng = Application.Caller
TabName = rng.Worksheet.Parent.Sheets(zahl).Name
End Function

gruß Daniel
Anzeige
AW: Tabellen-Verzeichnis
14.11.2018 11:52:20
niclaus
Hallo Daniel
Vielen Dank! Du hast wirklich an alles gedacht! - Für meine "Bedürfnisse" hilft mir momentan am besten die Version:
TabName = Application.Caller.Worksheet.Parent.Sheets(zahl).Name
Ich habe die Funktion in einer xlam-Datei gespeichert. Das funktioniert bestens.
Noch einmal vielen Dank und viele Grüsse Niclaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige