Hallo Zusammen ,
Ich schildere erstmal mein Problem .
Ich habe eine Formularvorgabe, ich muss diese Arbeitsmappe ca. 500 mal kopieren ( händisch, indem ich rechtsklick auf die arbeitsmappe mache und auf Verschieben oder kopieren drücke ) und dann händisch den namen der mappe umbennen und die "Kolli. NR " indentisch anpassen .
Alle anderen Daten bleiben identisch .
Es ändert sich nur " Kollinr" und der Mappen namen in die Kollinr ( zB. I00001 ) nächste Mappe ware dann I00002
Code:
Sub Arbeitsmappe_kopieren
Dim i
For i=457 to 1620
Sheets(2).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = "I00458" & i-1
next
End Sub
ist das vom Grundgedanken richtig?
hat da jemand einen guten rat?
Danke !
Hallo,
was soll denn der Sinn des ganzen sein? Übrigens, solltest Du deine Begriffe vielleicht erklären, eine Mappe ist normalerweise eine Datei. Ich denke, dass Du von Sheets/Blättern sprichst.
Übrigens, bei mir sind 457 to 1620 etwas mehr als 500...
Hallo ,
danke für deine schnelle Antwort !
Du liegt vollkommen richtig , ich meine Sheets!
Es sind noch einige dazugekommen . Es sind jetzt von Kollinr . 458 bis 1661 ! :22:
Das händisch zu machen ware sehr Arbeitsaufwändig .
Der Sinn soll sein , dass die verschiedenen Kollinr. zum Sheetnamen passen .
[
attachment=11899]
dh. wie auf dem bild zusehen Kollinr. soll sein 1234567
I00458 und der sheetname I00458
dann mache ich eine kopie davon und ändere händisch in 1234567
I00459 und sheetname I00459
und das bis 1661 :(
ich hoffe du kannst mir helfen .
Danke !
Hallo,
und was willst Du dann mit den ganzen Sheets anfangen? Ich meine, soviele Sheets passen nicht mal in eine Datei...
diese warden dann unserem Kundenhochgeladen ( er möchte es so )
Hallo,
Du willst also für jeden Kunden ein Sheet mit dem selben Aufbau bereitstellen? Da sollen dann quasi nur die verschiedenen Kundendaten drin stehen. Jeder Kunde bekommt nur ein Sheet?
Habe ich das richtig verstanden?
Es ist alles ein Kunde .
Jedes Blatt ist ein Artikel .
Kollinr . 12345678I00458 ist Bestellung 458 etc .
Hallo,
also verstehen muss man das jetzt wirklich nicht...das ist doch nun wirklich mehr als umständlich und zudem noch mega ressourcenfressend..
Dennoch, dein Code sollte ja funktionieren. Er erstellt dir halt 1163 Sheets...
ich verstehe auch nicht wieso das so umstädnlich geschrieben ist .
wie kann ich es machen dass der name des sheets I00458 fortlaufend ist ?
und in zeile A10 die Nummer auch geändert wird?
Hallo,
z.B. so
Code:
Option Explicit
Sub Arbeitsmappe_kopieren()
Dim i As Long, lngTabellenName As Long
lngTabellenName = 458 'Start der Nummerierung
For i = 1 To 500 'Hier die Anzahl deiner zu erstellenden Sheets anpassen
With ThisWorkbook
.Sheets(2).Copy After:=.Sheets(.Sheets.Count)
With .Sheets(.Sheets.Count)
.Name = "I" & Format(lngTabellenName, "00000")
.Range("A10").Value = "I" & Format(lngTabellenName, "00000")
lngTabellenName = lngTabellenName + 1
End With
End With
Next
End Sub