Auflistung aller Arbeitsblätter

28/04/2010 - 14:20 von Lisbeth | Report spam
Ich habe Probleme mit der Umstellung auf EXCEL 2007.

Zur Auflistung aller Arbeitsblàtter in einer Arbeitsmappe habe ich bis jetzt
folgende Fromeln verwendet (habe ich auch hier aus der Discussion Group):
x=ARBEITSMAPPE.ZUORDNEN(1
=WENN(ZEILEN(2:$2)>ANZAHL2(x);"";TEIL(INDEX(x;ZEILEN(2:$2));FINDEN("]";INDEX(x;ZEILEN(2:$2)))+1;99))

nun bekomme ich nur noch ein "#Name?" in der zweiten Zeile - und die Liste
darunter ist leer.

Bin für Hilfe sehr dankbar - diese Liste ist eine große Arbeitserleichterung.
 

Lesen sie die antworten

#1 Andreas Killer
30/04/2010 - 09:15 | Warnen spam
On 28 Apr., 14:20, Lisbeth wrote:

nun bekomme ich nur noch ein "#Name?" in der zweiten Zeile - und die Liste
darunter ist leer.

Bin für Hilfe sehr dankbar - diese Liste ist eine große Arbeitserleichterung.


Ich habe keine Ahnung wieso, aber eine Alternative mit einer
benutzerdefinierten Funktion.

Der angehàngte Code muss in ein normales Modul, wie's geht steht hier:
http://www.online-excel.de/excel/si....php?fD#s2

Dann gibst Du in Deine Tabelle die Formel =BlattListe() als
Matrixformel über einen Bereich ein der mind. die Anzahl der Blàtter
umfaßt.

Andreas.

Function BlattListe()
Dim Data() As String, I As Integer, J As Integer
Dim S As Worksheet
If TypeOf Application.Caller Is Range Then
With Application.Caller
ReDim Data(1 To .Rows.Count, 1 To .Columns.Count) As String
I = 1
J = 1
For Each S In Sheets
Data(J, I) = S.Name
J = J + 1
If J > .Rows.Count Then
J = 1
I = I + 1
If I > .Columns.Count Then GoTo ExitPoint
End If
Next
End With
Else
ReDim Data(1 To Sheets.Count) As String
For Each S In Sheets
I = I + 1
Data(I) = S.Name
Next
End If
ExitPoint:
BlattListe = Data
End Function

Ähnliche fragen