Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Kopieren per Makro, Formeln fehlen
#1
Mein Wochenzettel ist nun sogut wie 2016 fertig.
Nun wollte ich ihn gleich für das ganze Jahr vervielfachen und habe folgendes gefunden:


Zitat:Sub NewTablesByName()
 Dim i As Integer
    For i = 2 To 52
        Sheets(1).Copy after:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "KW" & i
    Next i
End Sub

Das vervielfachen klappt auch, aber:

Nur Formeln welche sich auf das selbe Blatt beziehen werden kopiert.

Formeln welche sich auf das Vorgängerblatt beziehen fehlen. (Übernahme eines Wertes).

Kopiere ich das Blatt einzeln benenne es passend um bleiben auch diese Formeln erhalten. (=indirekt....)

Was für einen Weg gibt es noch ein Blatt 50 mal zu kopieren ohne Formeln zu verlieren ?

Didi
Antworten Top
#2
Moin!
Prinzipiell funktioniert das Makro.
Mindestens notwendig: Deine nicht korrekt kopierten Formeln.
Besser: die ganze Mappe.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
In  J41 befindet sich eine Formel welche nicht kopiert wurde.
In K und L die leichtere Formel
Eigendlich sollten die Blätter  KW01 - KW52 sein.
Musste es aber ändern da ich noch nicht dahinter gekommen bin wie ich neben den Zahlen auch Buchstaben einsetzen kann um auf das Vorgängerblatt zu kommen.

Didi


Angehängte Dateien
.xlsm   Wochenzettel_2016.xlsm (Größe: 49,84 KB / Downloads: 7)
Antworten Top
#4
Hallo,

Zitat:Musste es aber ändern da ich noch nicht dahinter gekommen bin wie ich neben den Zahlen auch Buchstaben einsetzen kann
um auf das Vorgängerblatt zu kommen.

... und was heißt das auf deutsch?
Ich habe es nicht verstanden.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Zitat:... und was heißt das auf deutsch?

Ich habe es nicht verstanden.

Die Blätter haben im Beispiel die Bezeichnung 1,2,3.....

Im Original soll es später  KW01,KW02,KW03.....  werden.

Mit meinen Formelkentnissen bin ich bis jetzt aber erst soweit das es nur klappt wenn ich die Blätter mit Zahlen kennzeichne.

Didi
Antworten Top
#6
Hallo,

Zitat:Mit meinen Formelkentnissen bin ich bis jetzt aber erst soweit das es nur klappt wenn ich die Blätter mit Zahlen kennzeichne.

Nun verstehe ich erst recht nicht. Du arbeitest doch in der Datei mit Makros.
Wozu also dann der Wille, daß mit Formeln lösen zu wollen?
Mit Makro ist das doch ein Klacks.

Zum besseren Verständnis, ich habe momentan nicht die Möglichkeit, mir Deine Datei anzusehen.
Auf meinem Rechner hier kann ich derzeit nur bis Excel2003 mithalten. Also *.xlsm ist für mich jetzt nicht lesbar.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#7
Hier mal als XLS.

Das Makro ist nur zum einmaligen erzeugen von 52 Blätter.

Es ist natürlich nicht in der xls enthalten.

Didi


Angehängte Dateien
.xls   Wochenzettel_2016.xls (Größe: 601,5 KB / Downloads: 2)
Antworten Top
#8
Hallo,

Zitat:Das Makro ist nur zum einmaligen erzeugen von 52 Blätter.
Es ist natürlich nicht in der xls enthalten.

... in der Tat, es ist nicht drin. Und warum nicht?
Das Erstellen der Blätter und das Umbenennen kann in einem Rutsch erfolgen.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#9
Hallo Didi,

wenn Du das Blatt KW1 manuell erstellt hast, dann ginge folgender Code:


Code:
Sub NewTablesByName()
 Dim i As Integer
 For i = 2 To 52
   Sheets("KW1").Copy after:=Sheets(Sheets.Count)
   Sheets(Sheets.Count).Name = "KW" & i
   ActiveSheet.Range("E2").Value = "KW" & i
   ActiveSheet.Range("B30").Formula = "=KW" & i - 1 & "!B30"
 Next i
End Sub


Mit dem Code wird in E2 der Name ohne Formel eingetragen und in B30 die Formel, welche sich auf die Vorwoche bezieht.
Es sind keinerlei Fehlerabfragen im Code.
Wenn Du den Code zwei mal hintereinander ausführst, wird es sofort zum Fehler kommen.
Gruß Atilla
Antworten Top
#10
Hallöchen,

noch eine kleine Ergänzung. Für KW0x müsste man die Angaben noch formatieren:
"KW" & Format(i,"00")
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste