Aktualisierung Blätter.count-Wert beim hinzufügen von Arbeitsblättern
Schreibe ich ein makro ein Arbeitsblatt kopieren, und fügen Sie es auf einen bestimmten Speicherort in der Arbeitsmappe. Dieses makro wird verwendet für Arbeitsmappen, die mit einer unterschiedlichen Anzahl von Blättern, so möchte ich es auch weiter kopieren und fügen Sie Arbeitsblätter, bis es nicht mehr Blätter übrig.
Sub Macro()
Dim x As Integer
For x = 3 To Sheets.Count Step 3
Sheets(x).Select
Sheets(x).Copy Before:=Sheets(x + 3)
A bunch more code...
Next
Den makro-offensichtlich läuft aus 3 die Gesamtzahl der Arbeitsblätter, aber da die Gesamtanzahl der Tabellenblätter ändert sich nach jedem Schritt (durch kopieren/einfügen ein Arbeitsblatt), das makro Stoppt, bevor es wieder an das Ende der Arbeitsmappe (ich vermute, weil es den Betrieb Stoppt, wenn der Zähler erreicht den Wert start der Blätter.Zählung). Irgendwelche Vorschläge, wie man das makro weiter bis zum Ende?
Dies ist meine erste Erfahrung, code zu schreiben, so bitte sanft sein 🙂
- Warum sind Sie kopieren Blätter, anstatt Sie zu bewegen? Dies scheint, wie es wäre einfach aufblasen der Datei keinen wirklichen Zweck...
- Ich kann nicht jetzt testen (Eingabe von tablet). Sie können möglicherweise verwenden Sie eine rekursive Funktion, oder rufen Sie Graf wieder innerhalb einer while-Schleife verwenden oder eine GOTO-Anweisung. Ich würde versuchen, eine while-Schleife mit
while x<nrOfSheets
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nehmen wir an, Sie möchten hinzufügen
x
Blätter, so dass Sie erreichen können, Blattzahly
. Sie möchten jedoch alle diese Blätter werden erstellt, bevor das Letzte Blatt in Ihre Arbeitsmappe aufgerufenEnd
. Ein Ansatz unter:Aber was ist, wenn Sie nicht immer sicher, ob der name Ihrer letzten Platte ist
End
? Ein Ansatz ist die folgende:Jedoch für einige Grund, Sie wirklich wollen, zu einem
For Loop
für diese. Hier ist der Haken: Sie benennen wollen, Sie basiert auf einer Liste in einem Blatt namensStart
! Hier ist ein Weg, es zu tun:Hoffe, das hilft. 😉