Auto-Ausfüllen über Tabellenblätter

Hallo Gemeinde,

ich habe folgendes Problem:

Ich möchte in Zelle A1 des ersten Tabellenblatts (Tabelle1) eine 1 zu stehen haben. In Tabelle2 (die ansonsten genauso wie Tabelle1 aufgebaut ist soll in A1 dann eine 2 stehen usw. Also ingesamt sollens etwa 160 Tabellenblätter werden und Tabelle160 sollte dann in A1 eine 160 stehen.

Wäre sehr dankbar für Hilfe.

Wäre auch cool wenn mir jemand sagen könnte, wie man so eine große Anzahl von Tabellenblättern vielleicht effektiver kopieren kann als jedes einzekn.

Gruß Erwin

Edit: Auto-Ausfüllen über Tabellenblätter
Achso, ergänzend möchte ich dazu sagen, dass ich Excel 2007 benutze. Aber abspeichern möchte ich es als .xls (also als Datei die vollständig mit Excel 97-2003 kompatibel ist).

Gruß Erwin.

Hallo Erwin,

hier ist der code, mit Alt und F11 in den vb-editor wechseln, den code einfügen und einer Schaltfläche zuweisen - müsste funktionieren, bei mir Excel2002 erfolgreich getestet. Das Blatt welches kopiert wird, heisst hier Muster (anpassen). Wenn du die Datei nur mit dem Muster anders benennst als die Datei mit den erzeugten Kopien, kannst du die Musterdatei ohne Änderungen beliebig oft testen und verwenden

Sub Blatt160malKopieren()
 Dim wks As Worksheet
 Dim nme As Name
 Dim intNme As Integer
 Dim strNme As String

 For intNme = 0 To 159
 For Each nme In ThisWorkbook.Names
 strNme = Right(nme.Name, 3)
 Next nme
 With ThisWorkbook
 .Worksheets("Muster").Copy after:=.Worksheets(.Worksheets.Count)
 End With
 ActiveSheet.Name = Format(intNme + 1, "000")
 Set nme = ActiveWorkbook.Names.Add("WKS" & Format(intNme + 1, "000"), \_
 Range("A1"), False)
 Selection.NumberFormat = "000"
 Range("A1").Activate
 Selection.NumberFormat = "##0"
 ActiveCell.Formula = intNme + 1
 nme.Visible = False
 Next
 ActiveWorkbook.SaveAs Filename:="C:\...\Tabblaetter160malKopieren.xls", \_
 FileFormat:=xlNormal
End Sub

Teste erstmal mit weniger Blätter (ändere die 159)

Gruß
Marion

Ich möchte in Zelle A1 des ersten Tabellenblatts (Tabelle1)
eine 1 zu stehen haben. In Tabelle2 (die ansonsten genauso wie
Tabelle1 aufgebaut ist soll in A1 dann eine 2 stehen usw. Also
ingesamt sollens etwa 160 Tabellenblätter werden und
Tabelle160 sollte dann in A1 eine 160 stehen.
Wäre auch cool wenn mir jemand sagen könnte, wie man so eine
große Anzahl von Tabellenblättern vielleicht effektiver
kopieren kann als jedes einzekn.

Hi Erwin,
starte mal das Makro „Starten“

Option Explicit

Sub Starten()
Call Kopieren(10, "Tabelle1") 'Hier Anzahl und Blattnamen anpassen
End Sub

Sub Kopieren(ByVal Anzahl As Integer, ByVal Blattname As String)
Dim intAnz As Integer
On Error GoTo Fehler
Application.ScreenUpdating = False
With Worksheets(Blattname) 
For intAnz = 1 To Anzahl
 .Copy After:=Worksheets(Worksheets.Count)
 ActiveSheet.Name = .Name & Right("0000" & intAnz, 4)
 [A1] = intAnz
Next intAnz
.Activate
End With
Fehler:
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard