Microsoft Excel

Herbers Excel/VBA-Archiv

Makro Kopie Tabelle | Herbers Excel-Forum


Betrifft: Makro Kopie Tabelle von: bert
Geschrieben am: 04.01.2010 19:51:21

Hallo,
ich möchte mit Makros Tabellen kopieren und so neue Tabellen erstellen. das geht gut mit:
Worksheets("Vorlage").Copy After:=Worksheets(Sheets.Count - 7)
Worksheets("Vorlage (2)").Name = "neuerName"


Mein Problem: Excel hört im Makro bei maximal 52 Tabellen auf zu kopieren, obwohl ja 255 Tabellen möglich sind und auch mittels Menü Einfügen+Tabellenblat ohne Probleme geht.

Meine Fragen:
Wie kann ich auch mehr als 52 Tabellen kopieren? Warum gehen nicht mehr??

Vielen Dank für die Hilfe im Voraus.

  

Betrifft: AW: Makro Kopie Tabelle von: Gerd L
Geschrieben am: 04.01.2010 20:39:11

Hallo Bert,

gib mal deinen eingefügten Tabellen einen Namen mit Index (Nummer)

Dim i as Integer
For i = 1 to 1000

Worksheets("Vorlage").Copy After:= Worksheets(Sheets.count-7)
Worksheets(Sheets.Count - 7).Name= "neuerName" & i

Next

Gruß Gerd


  

Betrifft: AW: Makro Kopie Tabelle von: bert
Geschrieben am: 04.01.2010 20:50:52

Hallo Gerd! Hallo Jochen!
Vielen Dank für die schnellen Antworten!!

Ich hatte in der Zwischenzeit wauch etwas getestet und festgestellt, mit leeren Tabellen komme ich auch auf bis über 1000 Tabellen.
Scheint also kein Excel-Problem zu sein.
bei mir liegt in der Tabelle Vorlage noch ca. 200 Zeilen VBA-Code. Habe ich schon gelöscht, doch er hört eben wieder bei max 52 Tabellen auf.
Teste (löschen Buttons, Listenfelder...) noch weiter und gebe Bescheid.

Gibt es noch andere Ideen???

Gruß bert


  

Betrifft: AW: Makro Kopie Tabelle von: Daniel
Geschrieben am: 04.01.2010 20:58:00

HI

die Anzahl der Tabellenblätter bestimmt der verfügbare Speicher.

ist nur ne Vermutung, aber vielleicht hilft ja das gelegentliche Speichern der Datei, weil Excel dann hoffentlich intern etwas aufräumt und Speicher frei macht.
Ansonten lösch aus mal Namen und Formate (auch bedingte)

Gruß, Daniel


  

Betrifft: AW: Makro Kopie Tabelle von: bert
Geschrieben am: 04.01.2010 22:14:28

Hallo Daniel,
habe jetzt mehrere Varianten getestet (ohne Buttons, fast keine Formate...), aber die Grenze 52 bleibt.
Sehr starke Reduzierungen bringen etwas (jedoch nicht mehr sinnvoll).
Jetzt mache ich es mit zwischenspeichern (Excel neu starten), danach kann das Makro wieder neue Tabellen anlegen.
Die Dateigröße war es nicht, nach dem Abspeichen ist die Datei größer und danach kann ich wieder Dateien anlegen.
Scheinbar wird der Speicher stark durch Excel genutzt (wobei die Grenze 52 auf verschiedenen Systemen gleich ist).

Gruß


  

Betrifft: AW: geht doch von: JOWE
Geschrieben am: 04.01.2010 20:41:43

Hallo Bert,

so klappte es bei mir (xl2003):

Sub kTab()
    Dim nNr As Long
    nNr = 4
    Do Until ActiveWorkbook.Sheets.Count = 255
        Worksheets("Vorlage").Copy After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "neuerName " & nNr
        nNr = nNr + 1
    Loop
End Sub

Gruß
Jochen


  

Betrifft: Problem bei Vielfach-Kopien eins Blatts von: Erich G.
Geschrieben am: 05.01.2010 09:09:59

Hi Bert,
mit vielen Kopien eines Blattes hat Excel ein Problem - und das nicht nur in XL97.

Schau dir mal diese Threads an:
https://www.herber.de/forum/archiv/844to848/t846028.htm
https://www.herber.de/forum/archiv/944to948/t945010.htm
und diese Mappe:
https://www.herber.de/bbs/user/40474.xls

Interessant sind auch
http://www.xlam.ch/xlimits/xllimit24.htm
und
http://www.xlam.ch/soscq/prozesse.htm#Prozess%20Arbeitsblatt%20kopieren

Wie gesagt: Auch neuere XL-Versionen sind betroffen. Es liegt nicht an deinem Code.

Abhilfe könntest du so schaffen:
Workshee4s.Add
Vorlage.Cells.copy in neues Sheet

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


Beiträge aus den Excel-Beispielen zum Thema "Makro Kopie Tabelle"