Gibt es hier ernshafte VBA-Profis?
28.02.2006 13:30:35
Martin
ich habe am 17.02.2006 zwei Beiträge geschrieben, zwar bei:
https://www.herber.de/forum/archiv/732to736/t734119.htm
und...
https://www.herber.de/forum/archiv/732to736/t734252.htm
..., und leider wurde ich noch nicht richtig beantwortet. Das kann daran liegen, dass ich mich nicht richtig ausgedrückt habe. Ich werde diesmal versuchen, ein bisschen klarheit dazu bringen.
Ich habe eine Tabelle erstellt, die gewisse berechnungen ermöglicht abhängig von einen Betrag und ein Datum. Die Formeln sind relativ kompliziert und daher schwierig zu durchschauen.
Hauptsache ist, dass welche Bezüge ändern sich von Formel zu Formel an dessen Anzahl.
z.B. erste Formel (Zelle S9):
=WENN(ODER(ISTFEHLER(MONAT(Y9));Y9="");"";WENN(ODER(UND(JAHR(Y9)=$R$5;MONAT(Y9)9);O9/12*(22-MONAT(Y9));WENN(UND(JAHR(Y9)=$S$5;MONAT(Y9)9);JAHR(Y9)>$S$5);"")))))
und zweite Formel in der rechts liegende Zelle (Zelle T9):
=WENN(ODER(ISTFEHLER(MONAT(Y9));Y9="");"";WENN(ODER(UND(JAHR(Y9)=$S$5;MONAT(Y9)9);O9/12*(22-MONAT(Y9));WENN(UND(JAHR(Y9)=$T$5;MONAT(Y9)9);JAHR(Y9)>$T$5);"")))))
Da sie für mich selbst recht kompliziert sind, wollte ich sie in den vorherigen Beiträge nicht schreiben. ;)
Wichtig bei denen sind die O9, Y9, R9, und S9 Bezüge.
O9 ist der Betrag, Y9 das Datum, R9 und S9 die Bezüge von denen die Formel eine Substraktion von O9 macht.
Da in der rechtsliegende Zelle von T9, also U9 diese Formel kommt:
=WENN(ODER(ISTFEHLER(MONAT(Y9));Y9="");"";WENN(ODER(UND(JAHR(Y9)=$T$5;MONAT(Y9)9);O9/12*(22-MONAT(Y9));WENN(UND(JAHR(Y9)=$U$5;MONAT(Y9)9);JAHR(Y9)>$U$5);"")))))
...werden die Bezüge R9, S9, und T9 betrachtet.
Wie es leicht zu sehen ist, inkrementieren sich die Bezügen.
Mit einer Formel-Kopie nach rechts, kann man nur die gleiche Formel angepasst kopieren, d.h. die GLEICHE Anzahl an Bezügen!
Klar muss es sein, dass ICH MÖCHTE NICHT meine Formel nach rechts kopieren, sondern es verhindern. Und verhindern, weil jeder Benutzer kommt auf die idee, wenn eine Formel fehlt, sie von andere Spalte zu kopieren, klar soweit?
Ok, jetzt kommt meine Frage:
Wie kann ich eine eventuelle waagerechte Formel-Kopie dem Benutzer per VBA verhindern?