Hallo Wischnor,
ich es möglich ein Objekt zu erzeugen, der für z.B. drei
Spalten zuständig ist? Ich meine mit Objekt eine Instanz zu
erzeugen. Kann ich mit VBA Objektorientiert Programmieren?
wie Hans schon sagte dafür gibt es in Vba klassenmodule.
Im Editor siehst du ja die Module für DiesesArbeitsmappe, Tabelle1, Tabelle2, usw. das sind alles Klassenmodule.
Ich kenne mich da mit den Begrifflichkeiten nur sehr mies aus. Also kann ich mich falsch ausdrücken mit Bezeichnungen.
Für mich ist dann z.B. im Klassenmodul „Tabelle1“ die Tabelle1 das Objekt. Dieses reagiert auf verschiedene Ereignisse in sich, also zellenänderung, Zellenwechsel usw.
Vielleicht mal ein Beispiel, du willst auf dem Bildschirm einen Taschentechner nachbilden mit 50 Tasten.
Dazu könntest du 50 Schaltflächen/Command Buttons nehmen und für jeden einen Code schreiben was geschieht wenn man ihn anklickt.
Das macht den Code sehr lang.
Eleganter ist dafür eine Klasse anzulegen. Dann hast du nur einen Code für alle 50.
Völlig analog zu
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
was ja wenn es im Klassenmodul von tabelle1 steht auf einen Zellenwechsel reagiert hast du dann die ähnliche Funktionalität für jeden deiner 50 CommandButtons.
Völlig erfunden sieht das dann so in etwa aus:
Private Sub CB_Click(ByVal Button As irgednwas)
Jetzt kannst du bequem in dieser Sub den geklickten Button auswerten.
If Button=„1“ then schreibe eine 1 in das Anzeigefeld des Rechners
usw.
Was ich jetzt nicht weiß ist, ob man auch 3 Spalten als Klasse=Objekt anlegen kann
Mein Ziel ist es, das ich immer 3 Spalten zu einer Gruppe
hinzufüge, wenn eine Spalte den Wert 0 hat, so soll die ganze
Gruppe grau hinterlegt sein, das keine weiteren eingaben mehr
erfolgen.
Das müßte m.E. auch mit normalem Vba gehen, aber mir ist auch leicht unklar was du da genau vorhast.
Ich kann nur hoffen daß es einigermaßen verständlich war was ich schrieb und damit sagen wollte 
Gruß
Reinhard