folgendes Problem:
mit dieser Schleife
for i = 1 to 50
Worksheets(Worksheets.Count).Copy
after:=Worksheets(Worksheets.Count) ' jeweils letzte
Tabelle kopieren
next
möchte ich 50 Kopien der jeweils letzten Tabelle einer Mappe erzeugen.
Leider wächst der 'codename' der Tabellen durch diese Form des Kopierens
auf > 32 bytes und Excel stürzt bei i > 25 ab. (Codename sieht
dann so aus: "Tabelle11111111111111111111111").
Laut VBA-Hilfe kann man auf den 'codename' nur lesend zugreifen, über
'Eigenschaften' lässt er sich aber manuell ändern.
Gibt es trotzdem eine Möglichkeit, den 'codename' im Code zu manipulieren ?
Um Rat fragt:
Marco Pfensig
wie folgt:
Sub Kopieren()
Dim i%, n%
For i = 1 To 50
n = Worksheets.Count
Worksheets(n).Copy after:=Worksheets(n)
ActiveSheet.Name = "Blatt" & i
With ThisWorkbook.VBProject.VBComponents(ActiveSheet.CodeName)
.Name = ActiveSheet.Name
End With
Next i
End Sub
hans
########################################################
# Herber's Excel-Server - letztes Update: 26.01.99 #
# http://www.herber.de - Microsoft MVP - Excel #
# Excel-Wettbewerb: http://www.herber.de/osterformel #
# Neu bei der Freeware: AddIn "Zurück zur Sprungmarke" #
########################################################
--
M.Pfensig schrieb in Nachricht ...
Von hinten durch die Brust in's Auge könnte es klappen. Versuch's mal wie in
Deinem
Code eingeflickt.
Tschüß
Werner
--
Bei Antwort bitte NOSPAM entfernen /
Please remove NOSPAM at response
--------------------------------------------------------------
M.Pfensig schrieb in Nachricht ...
>Hallo,
>
>folgendes Problem:
>
>mit dieser Schleife
>
> for i = 1 to 50
> Worksheets(Worksheets.Count).Copy
>after:=Worksheets(Worksheets.Count) ' jeweils letzte
>Tabelle kopieren
Application.VBE.ActiveVBProject.VBComponents(activesheet.CodeName).name="T"&
Format(i;"000")
> next
>
>möchte ich 50 Kopien der jeweils letzten Tabelle einer Mappe erzeugen.
>Leider wächst der 'codename' der Tabellen durch diese Form des Kopierens
>auf > 32 bytes und Excel stürzt bei i > 25 ab. (Codename sieht
>dann so aus: "Tabelle11111111111111111111111").
>Laut VBA-Hilfe kann man auf den 'codename' nur lesend zugreifen, über
>'Eigenschaften' lässt er sich aber manuell ändern.
>Gibt es trotzdem eine Möglichkeit, den 'codename' im Code zu manipulieren ?
>
>Hallo,
>
>folgendes Problem:
>
>mit dieser Schleife
>
> for i = 1 to 50
> Worksheets(Worksheets.Count).Copy
>after:=Worksheets(Worksheets.Count) ' jeweils letzte
>Tabelle kopieren
> next
>
>möchte ich 50 Kopien der jeweils letzten Tabelle einer Mappe erzeugen.
>Leider wächst der 'codename' der Tabellen durch diese Form des Kopierens
>auf > 32 bytes und Excel stürzt bei i > 25 ab. (Codename sieht
>dann so aus: "Tabelle11111111111111111111111").
>Laut VBA-Hilfe kann man auf den 'codename' nur lesend zugreifen, über
>'Eigenschaften' lässt er sich aber manuell ändern.
>Gibt es trotzdem eine Möglichkeit, den 'codename' im Code zu manipulieren ?
Hallo Marco,
statt Excel die Namensvergabe zu überlassen, organisiere es selbst,
wie folgt:
Sub BlattFünfzig_x_Kopieren()
Name = Worksheets(Worksheets.Count).Name
For I = 1 To 50
Worksheets(Name).Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = Name & I
Next
End Sub
MfG Frank
--
E-Mail: Thei...@t-online.de