669 Aufrufe
Gefragt in Tabellenkalkulation von twototoulouse Mitglied (370 Punkte)
Hallo !
Kann mir jemand bei diesem Makro helfen?
Wenn ich dieses Makro ausführe entstehen 30 Kopien in denen das Datum fortlaufend in der Zelle A1 und auf der Tabellenblattbezeichnung geändert wird .Wenn ich aber bei der Eingabe im Makro bei" For i = 1 To 364" einsetze ( um die Anzahl der Jahrestage zu erhalten ), kommt beim Ausführen des Makros folgende Meldung: Überlauf. Habe auch schon andere Zahlen eingesetzt, z.Bsp. 1 To 250, das funktioniert; alerdings nicht mehr Kopien.

Das Makro:

Sub TabKopierenDatumÄndern()
Dim vardatum As Date
Dim i As Byte

vardatum = "01.01.2017"
For i = 1 To 30
Sheets("01.01.17").Copy after:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = vardatum + i
Sheets(Sheets.Count).Range("A1") = vardatum + i
Sheets(Sheets.Count).Range("A1").NumberFormat = "DD.MM.YY"
Next
End Sub

Vielleicht kann mir hier jemand helfen?
Mit freundlichen Grüßen

10 Antworten

0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo twototoulouse,

die Variable i ist als Byte deklariert. Byte hat nur einen Wertebereich 0..255, deshab´lb kommt in der Schleife ab i>255 ein Überlauf.

Gruß
computerschrat
0 Punkte
Beantwortet von twototoulouse Mitglied (370 Punkte)
Hallo computerschrat!
Vielen Dank für die schnelle Antwort. Da muss man erstmal drauf kommen. Ich bin jetzt absolut nicht der große Experte was Makros angeht. Wie kann ich das ändern? Die Variable einfach umbenennen ?
Gruß
twototoulouse
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo twototoulouse,

du musst einfach die Deklaration ändern, also nicht
Dim i As Byte, sondern z.B. Dim i As Integer.

Gruß
computerschrat
0 Punkte
Beantwortet von twototoulouse Mitglied (370 Punkte)
Hallo computerschrat!
Unglaublich, was so eine Änderung bewirkt.
Vielen, vielen Dank !!!
Du hast mir sehr viel Arbeit erspart.
Danke
Gruß
twototoulouse
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo twototoulouse,

freut mich, dass es geholfen hat. Danke für die Rückmeldung!

Gruß
computerschrat
0 Punkte
Beantwortet von twototoulouse Mitglied (370 Punkte)
Ich habe da noch eine Frage.
Wieso braucht die Datei eine ewig lange Zeit zum speichern, nachdem ich sie auf die 364 Blätter per Makro erweitert habe?
Gibt's da eine Trick, das zu verkürzen?
Gruß
twototoulouse
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo,

zur Speichergeschwindigkeit kann ich nicht viel sagen. Aber die 364 Blätter sind ja vermutlich nicht leer, dann kommt schon einiges an Volumen zusammen. Eventuell liegt die Datei dann noch auf einem langsamen Datenträger. Wie groß ist die Datei auf dem Datenträger nach dem Speichern?

Gruß
computerschrat
0 Punkte
Beantwortet von twototoulouse Mitglied (370 Punkte)
Hallo computerschrat!
Die Datei steigt von 15 kb auf 1,52 MB ohne große Eintragungen.
Gruß
twototoulouse
0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo twototoulouse ,

die Größe von 1.5 MB sollte keine große Speicherzeit erfordern. Ist in der Datei vielleicht ein Makro, das beim Speichern ausgeführt wird und lange Ausführungszeiten hat?

Gruß
computerschrat
0 Punkte
Beantwortet von twototoulouse Mitglied (370 Punkte)
Hallo Computerschrat!
Vielen Dank nochmal für Deine Antworten. Werde das mit dem Makro nochmal überprüfen, sollte aber eigentlich nur das Makro sein. was ich zum kopieren gebraucht habe.
Danke
Gruß
twototlouse
...