ich habe mir folgende Aufgabe gestellt und komme nicht wirklich weiter. Ich kann VBA so gut bzw. schlecht, dass ich mir aus Makrorecorder und Foreneinträgen normal das passende zusammenbasteln kann. Jetzt komme ich leider nicht weiter, da ich bei z.B. Rechenoperationen in Macros nicht wirklich durchblicke.
Folgendes Problem:
Ich muss oft Arbeitsblätter ans Ende kopieren und dann umbenennen. Die Struktur der Arbeitsblätte schaut wie folgt aus (Anzahl variabel, Reihenfolge fix):
BlattX; BlattY; BalltN; AA1; AA2; AA3; [...], AA56; usw.
Ich möchte jetzt ein beliebiges Blatt aus deiser Arbeitsmappe hinter das letzte Blatt kopieren und die nächste freie Nummer - in diesem Fall AA57 - vergeben. Führe ich das Makro nochmal aus AA58 etc.
Das AA ist hierbei leider auch nicht in jeder Arbeitsmappe identisch,m es könnte auch BB sein, ist aber innerhalb der Arbeitsmappe konstisten.
So weit bin ich schon (hab eich teilweise auch hier aus dem Forum):
Sub Blatt_kopieren_und_ans_Ende_stellen()
Dim NeuerTabellenName As String
Application.ScreenUpdating = False
'Neuen TabellenName ist letzter Blattname, auslesen und merken
NeuerTabellenName = Worksheets(Worksheets().Count).Name
'Tabelle kopieren und hinter der letzten Tabelle einfügen
ActiveSheet.Copy After:=Sheets(Sheets.Count)
'der neuen Tabelle den Name geben
Sheets(Sheets.Count).Name = NeuerTabellenName
Application.ScreenUpdating = True
End Sub
Also bräuchte ich in Makroform im einfachsten Fall etwas wie:=Teil("Blattname";1;2)&Teil("Blattname";3;6)*1+1
Das würde aus AA1, AA2 oder aus XY1256, XY1257 machen.
Eleganter wäre noch wenn das Makro den Textteil und den Zahlenteil (immer nach letzem Textteil) selbst unterscheiden könnte also aus Text123, Text124 machen würde oder noch besser aus 15Text123 auch 15Text124 - aber das ist Optional.
Ich hoffe Ihr könnt mir weiter helfen.
Danke