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

blattnummern 2. versuch *schnief*

blattnummern 2. versuch *schnief*
05.10.2004 15:44:17
Hans
moin, moin,
ich habe hier ein kleines problemchen, bei dem ich etwas hilfe benötige.
in meiner exceldatei gibt es etwa 200 tabellenblätter. durch das löschen und hinzufügen von blättern entstehen in der nummerierung der blätter natürlich lücken. ich möchte in spalte A alle blattnamen erstellen, allerdings sollen die blätter immer die gleiche position haben, selbst wenn irgendwann welche gelöscht werden.
Dim wks As Worksheet
i = 1
For Each wks In Worksheets
Range("A" & i) = Worksheets(i).Name
i = i + 1
Next
oder
For i = 1 to Worksheets.count
Range("A" & i) = Worksheets(i).Name
Next
hilft mir nicht weiter.
gruß hans
AW: blattnummern 2. versuch *schnief*
Ulf
Gib doch mal Beispiele, wie die Blattnamen aussehen.
Ulf
AW: blattnummern 2. versuch *schnief*
Hans
Tabelle1(Einwohner1)
Tabelle2(Einwohner2)
Tabelle5(Einwohner3)
Tabelle8(Einwohner4)
Tabelle9(Einwohner4)
jetzt sollteeben tabelle5 in a5 stehen, tabelle8 in a8 usw.
so siehts aus
hans
Tabelle1(Einwohner1)
Tabelle2(Einwohner2)
Tabelle5(Einwohner3)
Tabelle8(Einwohner4)
Tabelle9(Einwohner5)
jetzt sollte eben Einwohner3 in a5 stehen, Einwohner5 in a8 usw.
AW: so siehts genauer aus
Hans
so ungefähr sieht die liste in vba im profektfenster aus:
Tabelle1(Einwohner1)
Tabelle2(Einwohner2)
Tabelle5(Einwohner3)
Tabelle8(Einwohner4)
Tabelle9(Einwohner5)
und so solls mal in spalte A aussehEN:
______A
1 Einwohner1
2 Einwohner2
3
4
5 Einwohner3
6
7 Einwohner4
8 Einwohner5
Anzeige
Warum steht Tabelle8 in A7 und...
Boris
...Tabelle9 in A8?
Sollten die nicht in A8 und A9 stehen?
Grüße Boris
sorry, natürlich
Hans
mein fehler
Du musst den CodeName abfragen
Boris
Hi Hans,
ich weiss nicht, wie es einfacher geht - aber so geht´s schon mal:
Option Explicit

Sub til()
Dim ws As Worksheet, i As Integer
[a:a].Clear
For Each ws In ThisWorkbook.Worksheets
For i = 1 To Len(ws.CodeName)
If IsNumeric(Mid(ws.CodeName, i, 1)) Then Exit For
Next i
Cells(Mid(ws.CodeName, i), 1) = ws.Name
Next ws
End Sub

Grüße Boris
So isses noch einfacher...
Boris
Hi Hans,
da der Codename einer Tabelle ja m.W. IMMER mit "Tabelle" beginnt.
Option Explicit

Sub til()
Dim ws As Worksheet, i As Integer
[a:a].Clear
For Each ws In ThisWorkbook.Worksheets
Cells(Mid(ws.CodeName, 8), 1) = ws.Name
Next ws
End Sub

Grüße Boris
Anzeige
super Boris,danke schön
Hans
das war's, was ich suchte
thanks boris
gruß hans
Anmerkung!!
IngoG
Hallo Boris,
ich arbeite zwar selber noch mit excel 97 meine aber mich erinnern zu können, dass ab office 2003 die codenamen einheitlich auf sheet1, sheet2,... umgestellt werden.
aus diesem Grund ist wahrscheinlich dein erster ansatz besser.
Gruß Ingo

AW: blattnummern 2. versuch *schnief*
Uduuh
Hallo,
wie heißen denn die Blätter?
Falls "Tabelle1"..."Tabelle2000"
Dim wks As Worksheet
For Each wks In Worksheets
Sheets(1).Cells(right(wks.name,len(wks.name)-7,1) = wks.Name
Next
Dann steht der Name immer in der Zeile, die der Nummer der Tabelle entspricht.
Gruß aus'm Pott
Udo
Anzeige
gibt nen syntaxfehler
Hans
Tabelle1(Einwohner1)
Tabelle2(Einwohner2)
Tabelle5(Einwohner3)
Tabelle8(Einwohner4)
Tabelle9(Einwohner4)
jetzt sollte eben tabelle5 in a5 stehen, tabelle8 in a8 usw.

AW: gibt nen syntaxfehler
Uduuh
Hallo,
dann so:

Sub Liste()
Dim wks As Worksheet, iRow As Integer
For Each wks In Worksheets
iRow = CInt(Mid(wks.Name, 8, InStr(wks.Name, "(") - 8))
Sheets(1).Cells(iRow, 1) = wks.Name
Next
End Sub

auch nicht, sorry
Hans
das nen fehler in der zeile irow=...
so heißen meine tabelle im vba projekt:
Tabelle1(Einwohner1)
Tabelle2(Einwohner2)
Tabelle5(Einwohner3)
Tabelle8(Einwohner4)
Tabelle9(Einwohner5)
und so solls mal in spalte A aussehen
A
1 Einwohner1
2 Einwohner2
3
4
5 Einwohner3
6
7 Einwohner4
8 Einwohner5
Anzeige
AW: auch nicht, sorry
Uduuh
Hallo,
dann musst du dir den Namen eben entsprechend auseinanderpflücken. Geht mit ganz normalen Textfunktionen. Also anstatt =wks.Name eben den extrahierten Text.
So ganz ohne eigenes Engagement geht's nicht, dann lernt man's nie.
Gruß
Udo
AW: auch nicht, sorry
Hans
ich versuche schon viel, aber ich dachte mir es geht irgendwie mit
i=1
SHEETS("Tabelle" & i)
aber bekam das nicht hin
gruß und danke hans
Formellösung?!!
IngoG
Hallo Hans,
versuchs doch mal andersrum mit einer Formel:
=WENN(ISTFEHLER(INDIREKT("Einwohner"&ZEILE()&"!a1"));"";"Einwohner"&ZEILE())
trägst Du in Tabelle1!a1 ein und kopierst Sie bis zeile 2000 nach unten.
Bei mir funzt es...
Gruß Ingo
PS eine Rückmeldung wäre nett...
Anzeige
AW: Formellösung?!!
Uduuh
Hallo,
damit hast du aber auch Blätter gelistet, die nicht existieren!!!!!!
Gruß aus'm Pott
Udo
http://www.excelerator.de
würde leider nicht klappen, weil....
Hans
ich hatte das mit einwohner1 usw. nur als beispiel benutzt, in wirklichkeit sind die blattnamen völlig unterschiedlich. aber sei es drum, boris hat es gelöst
siehe obere staffel
trotzdem danke für eure mühe
grüße hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige