hier versuche ich mich gerade mit VBA mehrere Tabellen aus Muster erstellen mit Namen aus Liste gleichzeitig umzubenennen.
Es soll hier jeweils eine Kopie des bestehenden Tabellenblatt Ü-MUSTER angelegt werden, welche der Reihe nach den Tabellennamen aus dem Tabellenblatt (ab AZ1 bis AZ50) erhält.
Mein VBA-Ablauf:
1. Das Tabellenblatt Ü-MUSTER sollte dann an das jeweils letzte Tabellenblatt als Kopie erstellt werden. (Dabei kommt es immer wieder zu den gefühlten 1.000 unsinnigen Klicks wegen dem Fehlerhinweis: Die Formel enthält Namen bereits in der Zieltabelle vorhanden ist etc.). Der Name des kopierten Tabellenblattes: Ü-MUSTER (2)
2. Zurück auf dem Tabellenblatt Ü-MUSTER die Daten der Zelle AZ1 kopieren und gleich von AZ1 nach AZ2 springen.
3. Auf dem nun kopierten Tabellenblatt Ü-MUSTER (2) soll nun der Name aus der Zelle AZ1 (aus Tabellenblatt Ü-MUSTER) umbenannt werden.
4. Danach erfolgt der Rücksprung in das Tabellenblatt Ü-MUSTER und es erfolgt WIEDERHOLT eine Kopie!
5. Danach erfolgt der Rücksprung in das Tabellenblatt Ü-MUSTER auf die Zelle AZ2 AB JETZT mit Prüfung (wenn etwas drin - dann mit diesen nun zu kopierenden Daten weiter ansonsten: beenden ankündigen) und hier WIEDERHOLT kopieren, gleich weiter auf AZ3 springen.
6. WIEDERHOLUNG: Auf dem kopierten Tabellenblatt Ü-MUSTER (2) soll nun der Name aus der Zelle AZ2 (aus Tabellenblatt Ü-MUSTER) umbenannt werden.
7. Danach erfolgt der Rücksprung in das Tabellenblatt Ü-MUSTER und es erfolgt WIEDERHOLT eine Kopie!
8. Danach erfolgt der Rücksprung in das Tabellenblatt Ü-MUSTER auf die Zelle AZ3 AB JETZT mit Prüfung (wenn etwas drin - dann mit diesen nun zu kopierenden Daten weiter ansonsten: beenden ankündigen) und hier WIEDERHOLT kopieren, gleich weiter auf AZ4 springen.
9. WIEDERHOLUNG: Auf dem kopierten Tabellenblatt Ü-MUSTER (2) soll nun der Name aus der Zelle AZ3 (aus Tabellenblatt Ü-MUSTER) umbenannt werden.
10. Dto. - Das heißt es erfolgt immer wieder das selbe Muster (von 4-6 bzw. 7-9 etc.)
11. MÖGLICHE A b s c h l u s s , wenn Zelle in Spalte AZ leer. Die letzte Zelle dieser Spalte ist bei mir aktuell AZ51 auf dem Tabellenblatt Ü-MUSTER.
Mein Problem:
Durch meine bescheidene Kenntnisse in VBA
Hab mir einen Wolf nach mögliche Lösungen gesucht :-(
Wie überwinde ich die, oben erwähnte gefühlten 1.000 unsinnigen Klicks wegen dem Fehlerhinweis?
Wie läuft es mit der Überprüfung zur leeren Spalte (deren Formel ich nicht kenne)?
Die VBA aus meinem aufgezeichneten Makro wird definit zu lang, wie im Beispiel (das sind ja per VBA nur "drei" Tabellen, aber kein Automatismus):
Sub TabelBltKop()
' TabelBltKop Makro
' Tabellenblatt-Name aus Zellen in Spalte AZ generieren
Sheets("Ü-MUSTER").Select
ActiveSheet.Buttons.Add(733.5, 0, 147, 45.75).Select
Sheets("Ü-MUSTER").Copy After:=Sheets(27)
Sheets("Ü-MUSTER").Select
Selection.Copy
Range("AZ2").Select
Sheets("Ü-MUSTER (2)").Select
Sheets("Ü-MUSTER (2)").Name = "ALBU"
Range("BB25").Select
Sheets("Ü-MUSTER").Select
Application.CutCopyMode = False
ActiveSheet.Buttons.Add(733.5, 0, 147, 45.75).Select
Sheets("Ü-MUSTER").Copy After:=Sheets(28)
Sheets("Ü-MUSTER").Select
Selection.Copy
Sheets("Ü-MUSTER (2)").Select
Sheets("Ü-MUSTER (2)").Name = "ALPH1"
Range("BB29").Select
Sheets("Ü-MUSTER").Select
Application.CutCopyMode = False
ActiveSheet.Buttons.Add(733.5, 0, 147, 45.75).Select
Sheets("Ü-MUSTER").Copy After:=Sheets(29)
Sheets("Ü-MUSTER").Select
Range("AZ3").Select
Selection.Copy
Sheets("Ü-MUSTER (2)").Select
Sheets("Ü-MUSTER (2)").Name = "ALPH2"
Range("BC27").Select
Sheets("Ü-MUSTER").Select
Range("AZ4").Select
End Sub
Bei Fragen ...Vielen Dank für die Zeit und Hilfe im voraus
MichaelP