12.05.2018, 11:52
Guten Morgen in die Runde ...
eine schnelle Frage:
Ich erzeuge per VBA aus einem existierenden "Blanko"-Tabellenblatt ( das eine bestimmte Tabellenform enthält )
in meiner Arbeitsmappe ein neues Tabellenblatt mit gleichem Inhalt aber anderem Namen ...
Sub ErzeugeQCopy()
Dim array1 As Variant
Dim i As Integer
array1 = Array(5, 3, 1, 2, 4)
For i = 1 to UBOUND(array1)
Worksheets("Q-blanko").Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = "Q-copy" & i
Next
End Sub
Der Name des kopierten Tabellenblattes beinhaltet somit auch den Laufindex.
Wenn ich in die Eigenschaften der neuen Tabellenblätter schaue, gibt es für jedes Blatt (natuerlich) auch den
entsprechenden Tabellennamen, wie ich ihn in der For Schleife definiert und zugewiesen habe...
Mein Problem:
Im beigefügten Bild sieht man im grünen Rahmen einen von mir per VBA definierten Tabellen NAME ... hier "Q-xyz" ...
( über: Worksheets(Worksheets.Count).Name = "Q-xyz" ), so wie ich ihn dann auch in den Eigenschaften sehe.
Es gibt in den Eigentschaften aber auch das rote Feld (NAME) ... hier "Blatt5" ... den ich zwar manuell im VBA Tool editieren
kann, wenn ich auf das entsprechende Element gehe, aber den ich scheinbar nicht per VBA Code verändern kann.
Nun die Frage 1 :
Ist es möglich, auch auf (NAME) per VBA zuzugreifen und diesen zu verändern ?
Und die Frage 2 :
Ich erzeuge die neuen Blätter ja per VBA aus der Blanko-Vorlage mit der FOR Schleife über das Array wie im obigen Code Beispiel
und möchte hinterher diese neuen Blätter anhand ihres Namens - den ich über NAME vergebe - sortieren ( und möchte vorher nicht
das Array sortieren). Geht das evtl besser über (NAME), wenn ich denn darauf zugreifen könnte?
Vielleicht hat einer von Euch ja eine gute Idee
.
Vielen Dank schon einmal vorab.
Gruss, Michael
eine schnelle Frage:
Ich erzeuge per VBA aus einem existierenden "Blanko"-Tabellenblatt ( das eine bestimmte Tabellenform enthält )
in meiner Arbeitsmappe ein neues Tabellenblatt mit gleichem Inhalt aber anderem Namen ...
Sub ErzeugeQCopy()
Dim array1 As Variant
Dim i As Integer
array1 = Array(5, 3, 1, 2, 4)
For i = 1 to UBOUND(array1)
Worksheets("Q-blanko").Copy after:=Worksheets(Worksheets.Count)
Worksheets(Worksheets.Count).Name = "Q-copy" & i
Next
End Sub
Der Name des kopierten Tabellenblattes beinhaltet somit auch den Laufindex.
Wenn ich in die Eigenschaften der neuen Tabellenblätter schaue, gibt es für jedes Blatt (natuerlich) auch den
entsprechenden Tabellennamen, wie ich ihn in der For Schleife definiert und zugewiesen habe...
Mein Problem:
Im beigefügten Bild sieht man im grünen Rahmen einen von mir per VBA definierten Tabellen NAME ... hier "Q-xyz" ...
( über: Worksheets(Worksheets.Count).Name = "Q-xyz" ), so wie ich ihn dann auch in den Eigenschaften sehe.
Es gibt in den Eigentschaften aber auch das rote Feld (NAME) ... hier "Blatt5" ... den ich zwar manuell im VBA Tool editieren
kann, wenn ich auf das entsprechende Element gehe, aber den ich scheinbar nicht per VBA Code verändern kann.
Nun die Frage 1 :
Ist es möglich, auch auf (NAME) per VBA zuzugreifen und diesen zu verändern ?
Und die Frage 2 :
Ich erzeuge die neuen Blätter ja per VBA aus der Blanko-Vorlage mit der FOR Schleife über das Array wie im obigen Code Beispiel
und möchte hinterher diese neuen Blätter anhand ihres Namens - den ich über NAME vergebe - sortieren ( und möchte vorher nicht
das Array sortieren). Geht das evtl besser über (NAME), wenn ich denn darauf zugreifen könnte?
Vielleicht hat einer von Euch ja eine gute Idee

Vielen Dank schon einmal vorab.
Gruss, Michael