Fotlaufende Nummerierung und Tabelenname (VBA)

ulrich, Sonntag, 24.01.2016, 19:09 (vor 1415 Tagen)

Hallo Kmunity, kann jemand helfen?
Ich habe eine Excel Arbeitsmappe , die aus bis zu 100 Tabellenblättern besteht. Sheet1, Sheet2, Sheet3, ..... Sheet100. Jedes Tabellenblatt soll in der Zelle A1 eine fortlaufende Nummer erhalten: 1, 2, 3, ... 100. Diese Nummer soll gleichzeitig der Name des Tabellenblattes mit vorangestelltem Wort "Protokoll" werden, d.h. unten auf der Registerfahne soll später "Protokoll 1, Protokoll 2, als fortlaufende Nummer stehen, die auch in Zelle A1 des jeweiligen Tabellenblattes steht.
In der nächsten Arbeitsmappe sind dann die nächsten Tabellenblätter von 101, 102, 103, ... 200. In der 3. Arbeitsmappe sind dann die nächsten Tabellenblätter von 201, 202, 203, ... 300. usw. Ich muss also erreichen, das wenn ich im 1. Tabellenblatt in Zelle A1 irgend eine Zahl eingebe, zum Beispiel 1312, das dann am Ende das letzte Blatt eine 1411 in Zelle A1 stehen hat und die Tabellenblätter auch von Protokoll 1312 bis Protokoll 1411 benannt sind.
Da ich nicht von Hand in den 100 Tabellen immer nächst höhere Zahl schreiben will suche ich nach einer Möglichkeit, mit der ich es erreiche, dass automatisch alle 100 Tabellen umbenannt werden. Ich denke, dass dies nur über eine Makro lösbar ist. Ich bin aber nicht geübt mit Excel, um dies selber zu erstellen, geschweige denn es mit VBA zu machen. Vielleicht gibt es sogar eine Excel Formel, welche man jeweils in die Zelle A1 im 1. Tabellenblatt eingibt, welche danach automatisch die anderen 99 Tabellenblätter umbenennt.
Meine Ersten Versuche, soweit wie ich im Internet recherchiert habe, haben mir zwar das Ergebnis geliefert, aber wenn ich die Werte von "For = 101 To 200" ändere, passiert nix. Bei der angezeigten Formel meckert der Debugger zwar auch, aber er führt das Makro erst einmal aus.

Fortlaufende Nummerierung und Tabellenname
Modul 1 (die Formel habe ich aus einem Forum übernommen und leicht abgewandelt)

Sub Protokollnummern()
Dim b As Integer
Application.ScreenUpdating = 0
For b = 1 To 100
Sheets(b).Name = "Protokoll " & b '+1
Sheets(b).[AH6] = b
Next
End Sub

Viele Dank.


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum