Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsblattnamen auflisten

Arbeitsblattnamen auflisten
19.07.2007 11:21:00
JStadler
Hallo liebe Leute,
ich hab mal wieder ein kleines Problem. Ich will die Namen aller Arbeistblätter der Arbeitsmappe in einem weiteren Arbeitsblatt (Tabelle 7) untereinander auflisten. Das funktioniert vom Prinzip her auch, aber nur, wenn sich der Cursor auch in Tabelle 7 befindet. Wenn im Moment des Startens der Prozedur ein anderes Arbeitsblatt aktiviert ist, meldet Excel ab dem Schritt Worksheets("Tabelle7").Cells(1,1).Activate einen Fehler. Warum kann ich nicht aus einem Arbeitsblatt heraus (z.B. wenn ich unten angeführtes Makro dort auf einen Button lege) ein anderes Arbeitsblatt aktivieren? Das schnall ich nicht und bitte Euch um Hilfe.

Sub NameArbeitsblätter()
Dim wks As Worksheet
Worksheets("Tabelle7").Cells(1, 1).Activate
For Each wks In ActiveWorkbook
ActiveCell = wks.Name
ActiveCell.Offset(1, 0).Activate
Next wks
End Sub


Vielen Dank im Voraus
Johannes
P.S.: im Übrigen funktionierts auch nicht mit Sheets, statt Worksheets. Auch nicht mit Range statt Cells. Auch nicht, wenn ich zuerst das Arbeitsblatt (worksheets("Tabelle7").Activate) und dann die Zelle (activeworksheet.cells(1,1).activate) aktivieren will.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblattnamen auflisten
19.07.2007 11:28:41
jjo
Worksheets("Tabelle7").select
Cells(1, 1).Activate

AW: Arbeitsblattnamen auflisten
19.07.2007 11:41:53
JStadler
Hallo,
auch so meldet Excel einen Fehler. Immer an der Stelle, an der das Arbeitsblatt aktiviert, bzw. ausgewählt werden soll (weiß Gott nicht der komplizierteste Teil des Makros!!!). Ich weiß echt nicht weiter. Das kann doch nicht sein :-(
P.S. die Zeile "for each wks in activeworkbook" muss heißen "for each wks in worksheets", aber das hat mit meinem Problem nichts zu tun. Wie gesagt, wenn Tabelle7 schon geöffnet ist, funktioniert das Makro. Befinde ich mich aber zur Zeit des Ausführens in einem anderen Arbeitsblatt, meldet Excel einen Fehler.

Anzeige
AW: Arbeitsblattnamen auflisten
19.07.2007 12:53:36
anfj
hi ho,
du solltest vllt. vorher das Blatt auswählen
Dim wks As Worksheet
Worksheets("Tabelle7").Activate ' Blattwahl
Worksheets("Tabelle7").Cells(1, 1).Activate 'dann celle auswählen
For Each wks In ActiveWorkbook.Sheets
ActiveCell = wks.Name
ActiveCell.Offset(1, 0).Activate
Next wks
Besser wäre auch zu prüfen ob ein solches Tabelleblatt namens "Tabelle7" überhaupt existiert.
MFG
anfj

AW: Arbeitsblattnamen auflisten
19.07.2007 11:32:39
Renee
Hi Johannes,
Probier's mal so:

Sub NameArbeitsblätter()
Dim wks As Worksheet
Dim lxRow As Long
lxRow = 1
For Each wks In ActiveWorkbook.Worksheets
Worksheets("Tabelle7").Cells(lxRow, 1) = wks.Name
lxRow = lxRow + 1
Next wks
End Sub


Statt Activate und Select ist es einfacher und sicher direkte Objektbezeichner den Eigenschaften vorzusetzen.
Greetz Renee

Anzeige
AW: Arbeitsblattnamen auflisten
19.07.2007 11:44:00
JStadler
wow, das funktioniert perfekt :-)
Vielen Dank. Ist ne ganz neue Herangehensweise für mich, das muß ich unbedingt vertiefen.
Zwar würde mich trotzdem interessieren, warum die vorangegangene Version nicht funktioniert hat, aber schließlich zählt das Ergebnis.
Danke nochmal.
Johannes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige