2012-04-02 10 views
2

Ich habe eine Arbeitsmappe, die als Vorlage dienen.Dynamische Verwaltung von Blättern in VBA Excel

Momentan speichert sheet3 to sheet12 eine Tabelle mit derselben Vorlage. Die Informationen meines Sheet3 zu sheet12 statisch in einem Wörterbuch wie unten gespeichert (Natürlich könnte ich eine Schleife hier verwenden, aber der Einfachheit halber)

Value2SheetNo.Add Sheet3.Range("F5").Value, 3 
Value2SheetNo.Add Sheet4.Range("F5").Value, 4 
Value2SheetNo.Add Sheet5.Range("F5").Value, 5 
Value2SheetNo.Add Sheet6.Range("F5").Value, 6 
Value2SheetNo.Add Sheet7.Range("F5").Value, 7 
Value2SheetNo.Add Sheet8.Range("F5").Value, 8 
Value2SheetNo.Add Sheet9.Range("F5").Value, 9 
Value2SheetNo.Add Sheet10.Range("F5").Value, 10 
Value2SheetNo.Add Sheet11.Range("F5").Value, 11 
Value2SheetNo.Add Sheet12.Range("F5").Value, 12 

Da jedoch die Arbeitsmappe eine Vorlage ist, gibt es Zeiten, in denen ich nur benötigt 5 Tabellen (daher wird nur von Blatt 3 bis Blatt 7 benötigt, Blatt 8 bis Blatt 12 würden gelöscht). Wie könnte ich für eine Bedingung wie diese sorgen, ohne den zugrunde liegenden Code zu ändern?

Danke.

+0

Wie rufen Sie Ihren Code an? Sie können den obigen Code in eine Schleife einfügen, indem Sie die Variable 'For i = 1 to ShtNo' verwenden und sie dann entsprechend aufrufen. –

Antwort

0

Wenn der Code Worksheet-Code-Namen verwendet, wie Ihr Beispiel aussieht, dann ist die Antwort nein, Sie können die Bedingung fehlender Blätter nicht wirklich berücksichtigen, ohne den Code zu ändern, um Arbeitsblatt-Codenamen nicht zu verwenden. (Es könnte funktionieren, wenn alle Code Referenzierung Sheet12 läuft vor Sheet12 gelöscht wird, aber wenn irgendetwas davon braucht nach laufen, dann müssen Sie den Code ändern.)

Wenn Sie Anregungen wollen, wie sich ändern der Code, lass es mich wissen.

Verwandte Themen