deine Lösung funktioniert fantastisch. Vielen Dank dafür.
Ich werde jetzt das Fehlerhandling hinsichtlich der 12 Spalten einbauen. Ergänzung des rechtsseitigen Rahmen habe ich über drei Blöcke realisiert, sodass die Zeilen die als Blocktrenner dienen nicht mit betrachtet werden.
Die nächste Aufgabe besteht darin, wenn 12 Spalten(Firmen) angelegt sind die Funktion Neue_Spalte_anlegen zu deaktivieren und den Schriftzug in dem Button in rot darzustellen.
Ich habe den Code zum Einfärben mal aufgezeichnet und alles unnötige rausgelöscht. Da bleibt das übrig: ActiveSheet.Shapes.Range(Array("Button 1")).Font.ColorIndex = 3
Die Zeile kannst Du am Ende des Makros einbauen. Dazu noch die Bedingung If iMax + 1 = 12 Then ...
Am Anfang vom Makro, nachdem iMax ermittelt wurde, nimmst Du If iMax >= 12 Then Exit Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
dein :19: ist berechtigt. Ich bin leider bei diesem Projekt etwas unter Zeitdruck, sodass ich vielleicht auch Fragen stelle zu denen ich mit etwas Recherche auch eine eigene Lösung finden könnte. Weiterhin muss ich dieses Projekt, neben meinen anderen beruflichen Aufgaben, so zu sagen in der Mittagspause, bearbeiten und mein letzter Einsatz in der professionellen Programmierung ist ca. 20 Jahre her.
Ich danke dir für deinen Einsatz.
Es gibt jedoch noch zwei Sachen die ich nach Ausführung der Funktion Neue_Spalte_anlegen als störend empfinde.
1. Die kopierte Spalte ist noch aktiviert d.h. blau hinterlegt. Wie kann ich dies ausschalten. Die einfachste Möglichkeit ist sicher eine andere Zelle zu selektieren. Gib es noch eine andere Möglichkeit, so zu sagen ein unselect?
2. Die kopierten Zellen enthalten in der linken oberen Ecke das kleine rote Dreieck mit dem Hinweis das auf einen leere Zelle Bezug genommen wird. Auch dies empfinde ich als unschön und mochte es gerne abschalten.
ActiveSheet.Shapes.Range(Array("Button 1")).Font.ColorIndex = 3 erzeugt einen Laufzeitfehler 438 - Objekt unterstützt diese Eigenschaft oder Methode nicht - egal ob ich "Button 1" oder "Schaltfläche 1" verwende.
zu 1 geht nicht anders, es sei denn, man kopiert nicht sondern erzeugt alles neu. Es reicht aber vor dem End With ein .Select und die Zelle in Zeile 4 in der "neuen" Spalte wird ausgewählt. zu 2 hab ich mit 2016 nicht Ich hab da nur grüne Dreiecke. Die kann man vermeiden, wenn man bei den Optionen die Fehlerprüfung ausschaltet. zu 3 korrigiert: ActiveSheet.Shapes("Button 1").DrawingObject.Font.ColorIndex = 3
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)