Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
180to184
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
180to184
180to184
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Funktion zur Anzeige der Sheets

Funktion zur Anzeige der Sheets
19.11.2002 11:42:32
MikeS
Hallo,
gibt es eine Funktion, mit der ich mir die in der geöffneten Datei enthaltenen Tabellenblätter auflisten kann?
Vielen Dank!
lg, Mike
:-)

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 11:53:13
Marko
Dim ws As WorkSheet

For Each ws In ThisWorkbook.Worksheets
MsgBox (ws.Name)
Next ws

Marko

Re: Funktion zur Anzeige der Sheets
19.11.2002 11:55:51
MikeS
Hi,
dabei macht er mir doch eine MsgBox auf, oder? Ich würde es aber gerne in Zellen schreiben lassen. Geht das auch?

Und die zweite Frage: Wo genau schreibe ich den Code rein?

Dank' Dir schon mal!
Mike
:)

Re: Funktion zur Anzeige der Sheets
19.11.2002 11:56:07
ANdreas
Hallo Mike,

hier mal ein Beispiel:
Viel Spaß,
Andreas

Re: Funktion zur Anzeige der Sheets
19.11.2002 12:02:34
MikeS
Hallo,
vielen Dank an Dich. Aber ich habe auch hier zwei Fragen:

Gibt Excel dann eine Msg.Box aus oder schreibt es den Inhalt in Zellen?
Und wo schreibe ich den Code rein, z.b. so, dass er beim Öffnen der Datei die Blätter prüft und aktualisiert?
Vielen Dank!
lg, Mike
:)

Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 12:09:53
ANdreas
Hallo Mike,

also das vorher gegebene Beispiel zeigt die Namen in einer MsgBox an.
Hier mal ein neues Beispiel. Dieses Makro musst Du in das Klassenmodul "DieseArbeitsmappe" einfügen:

Beim Öffnen der Datei, wird dann in jedes Tabellenblatt in Zelle A1 der Name des Tabellenblattes geschrieben.

Viel Spaß,
Andreas

Re: Funktion zur Anzeige der Sheets
19.11.2002 12:12:10
Marko
"Wo genau schreibe ich den Code rein?"

Hmmh.. Na wenn das noch nicht mal klar ist wird's schwierig ;o)
Wie/Wann möchten Sie denn die Info haben? Per Knopf/Makro/beim Start? Wie heisst den die Tabelle?

Vielleicht als Makro (Playknopf drücken/ in erste Zeile den Namen geben und dann erstellen drücken)
Dann dies dort eintragen:

Sub Makroname ()

Dim ws As WorkSheet
Dim i As Integer

i=1
For Each ws In ThisWorkbook.Worksheets
ActiveSheet.Cells(i,1).Value = ws.Name
i=i+1
Next ws

End Sub


Ja und dann auf Wunsch mit dem Playknopf aus dem Excelmenü ausführen.
Marko

Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 12:21:42
MikeS
Vielen Dank schon mal!
Aber es ist im Prinzip klar, nur bin ich mir nicht sicher, ob es so funktioniert: Ich möchte die Werte aktualisieren lassen, wenn ein bestimmtes Worksheet geöffnet wird. D.h. ich schreibe den Code als Ereignis der Arbeitsmappe. Oder?

Die Idee mit dem i=i+1 ist gut, die werde ich gleich testen.

lg, Mike
:)

Re: Funktion zur Anzeige der Sheets
19.11.2002 12:26:11
Boris
Hallo Mike,

als Funktion könnte das so aussehen (in ein Modul kopieren):

Anschließend in Excel in irgendeine Zelle:
=blatt()

Und alle Blätter werden nebeneinander in die Zelle geschrieben.

Gruß Boris


Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 12:29:20
MikeS
Hi nochmal!
Ich habe es jetzt folgendermaßen gelöst:

Private Sub Worksheet_Activate()

Dim ws As Worksheet
Dim i As Integer

i = 1
For Each ws In ThisWorkbook.Worksheets
ActiveSheet.Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub

Und es funktioniert.

Jetzt habe ich eine weitere Frage - aber es wird komplizierter...:

In jedem dieser Tabellenblätter stehen verschiedene Kategorien, mal nur eine, aber manchmal auch drei oder vier. Ich würde jetzt gerne in die Übersicht [Code oben] mit aufnehmen, dass geprüft wird, wieviele dieser Kategorien vorhanden sind und dass sie mit aufgeführt werden.
Es geht im Prinzip um folgendes: Die Tabellenblätter sind Interpreten, dazugehörig findet sich in den Blättern eine Discographie. In der Übersicht sollen immer die vollständigen LP-Titel und die Interpreten aufgenommen werden. (Jetzt ist vielleicht verständlicher, was ich will).

lg, Mike
:)

Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 12:29:44
MikeS
Hi nochmal!
Ich habe es jetzt folgendermaßen gelöst:

Private Sub Worksheet_Activate()

Dim ws As Worksheet
Dim i As Integer

i = 1
For Each ws In ThisWorkbook.Worksheets
ActiveSheet.Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub

Und es funktioniert.

Jetzt habe ich eine weitere Frage - aber es wird komplizierter...:

In jedem dieser Tabellenblätter stehen verschiedene Kategorien, mal nur eine, aber manchmal auch drei oder vier. Ich würde jetzt gerne in die Übersicht [Code oben] mit aufnehmen, dass geprüft wird, wieviele dieser Kategorien vorhanden sind und dass sie mit aufgeführt werden.
Es geht im Prinzip um folgendes: Die Tabellenblätter sind Interpreten, dazugehörig findet sich in den Blättern eine Discographie. In der Übersicht sollen immer die vollständigen LP-Titel und die Interpreten aufgenommen werden. (Jetzt ist vielleicht verständlicher, was ich will).

lg, Mike
:)

Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 12:30:21
MikeS
Hi nochmal!
Ich habe es jetzt folgendermaßen gelöst:

Private Sub Worksheet_Activate()

Dim ws As Worksheet
Dim i As Integer

i = 1
For Each ws In ThisWorkbook.Worksheets
ActiveSheet.Cells(i, 1).Value = ws.Name
i = i + 1
Next ws
End Sub

Und es funktioniert.

Jetzt habe ich eine weitere Frage - aber es wird komplizierter...:

In jedem dieser Tabellenblätter stehen verschiedene Kategorien, mal nur eine, aber manchmal auch drei oder vier. Ich würde jetzt gerne in die Übersicht [Code oben] mit aufnehmen, dass geprüft wird, wieviele dieser Kategorien vorhanden sind und dass sie mit aufgeführt werden.
Es geht im Prinzip um folgendes: Die Tabellenblätter sind Interpreten, dazugehörig findet sich in den Blättern eine Discographie. In der Übersicht sollen immer die vollständigen LP-Titel und die Interpreten aufgenommen werden. (Jetzt ist vielleicht verständlicher, was ich will).

lg, Mike
:)

Anzeige
Re: Funktion zur Anzeige der Sheets
19.11.2002 12:33:34
Marko
"Ich möchte die Werte aktualisieren lassen, wenn ein bestimmtes Worksheet geöffnet wird. "

Worksheet (also Tabellenblatt) oder Workbook(also die xls-Datei)?

*Zum Aufruf beim Öffnen der xls-Datei
-In Arbeitsmappe:

Private Sub Workbook_Open()
'Code
End Sub

*Zum Aufruf beim Aktivieren eines beliebigen Blatts
- In Arbeitsmappe

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Code
End Sub

Marko

Re: Funktion zur Anzeige der Sheets
19.11.2002 13:36:52
ANdreas
Hallo Mike,

man benötigt noch mehr Info, wo stehen denn genau die Kategorien? (welche Zellen) Was willst Du eigentlich genau machen, es wirkt doch alles ziemlich wirr.
Wenn ich es richtig verstanden habe, willst Du in einem Tabellenblatt eine Auflistung aller anderen Tabellenblätter, mit Name (=Interpret) und allen CDs in diesem Tabellenblatt??? Dazu braucht man aber wie gesagt den genauen Aufbau dieser Tabellenblätter...

Andreas

Anzeige
Re: Funktion zur Anzeige der Sheets
20.11.2002 14:18:28
MikeS
Hi,
die Tabellenblätter sind wie folgt aufgeteilt:
Sheetname = Interpret
Im Sheet stehen dann
in Spalte A - Name der LP
in Spalte B - Titelnr.
in Spalte C - Titel

Im Ergebnis soll in dem "Übersichts"-Sheet beim Betreten Interpret und LP aufgelistet sein (später will ich noch eine automatische Verlinkung auf den entsprechenden Sheet, allerding nur Interpretbezogen, nicht auch noch LP-bezogen).

Der LP-Name kann an eine bestimmte Stelle in dem jeweiligen Sheet geschrieben werden, so dass ein Makro ihn immer findet. Man könnte auch noch die Anzahl der LP's dieses Interpreten eingeben, damit das Makro weiss, wieviele LP-Namen es übernehmen soll.

Die Vorgehensweise stelle ich mir so vor:
1.) Herausfinden des Namen des Sheets (=Interpret)
2.) Herausfinden, wieviele LP's aufgelistet sind
3.) Sooft den Sheetnamen(=Interpreten) in Spalte A aufführen, wie LP's vorhanden sind und dazu in Spalte B den entsprechenden LP-Titel

Ist es jetzt klarer geworden? Sorry für das Wirrwarr...
lg, MikeS
:)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige