Formel kopieren - ohen Copy-Paste (Ex97)

17/04/2008 - 10:27 von Eric March | Report spam
Moin, Moin!

Mich kratzt der Ehrgeiz. Zwar ist dank des AutoSave-AddIns die
Zwischenablege eher ein temporàres Etwas, aber ich hàtte dennoch gerne
gewusst, ob und wie ich ohne sie zu bemühen eine Formel in andere Zellen
übertragen kann.
OK, das habe ich ich bisher brav per Copy und PasteSpecial (zu Fuß mit
Makrounterstützung) erledingt weswegen eine Copy-Paste Lösung im Grunde
keine Verschlechterung darstellt.

Mal als Beispiel meine Arbeitsgrundlage. Es wird über ein Projekt eine
laufende Wochensumme benötigt (Spalten sind Tage) wobei dieses aus
Einzeldaten (Zeilen) besteht. Mehrere Wochen in einem Blatt; aber nur
eine Wochensummenspalte. Und (wer hàtte das gedacht) das was eine
"Woche" ist findet natürlich niemals schön brav von Montag bis Sonntag
statt… Also muss immer der Summierbereich Zeile für Zeile angepasst
werden. Übersichtssumme (gibt es auch, jeweils oberste Zeile - gibt, oh
Wunder, mehrere Projete auf dem Blatt) anpassen, Kopieren, über
Einzelteilsummen markieren und (mit freundlicher Makrounterstützung nur
die Formel) einkleben. Das geht einem über die Zeit auf den Keks und ich
will es straffen: Übersichtssumme anpassen, Einzelteilsummen markieren,
Klick und fertig. (Die 120% Auflösung ist dennoch so klein, dass man
immer wieder beim Klicken den Zellrahmen erwischt und vom
Markierung-Bewegen-Feature asugebremst wird! Oder noch schlimmer wird
eine Zelle festgehalten und in die Markierung "heruntergezogen".)

Dim Bereich As Range
Set Bereich = Selection
Cells(Bereich.Row - 1, Bereich.Column).Copy
On Error Resume Next REM OK, braucht man eignetlich nicht :-)
Bereich.PasteSpecial Paste:=xlFormulas

Wie bekomme ich das ohne Copy und Paste hin? Quasi nach alter Vàter
Sitte: Formel in Variable, Aus Variabel dem Range zuordnen.

Eric March

Kenne die Vergangenheit. In der Unwissenheit über die Vergangenheit
liegt das Verderben der Zukunft.
"Die Geschichte ist der beste Lehrmeister - mit den unaufmerksamsten
Schülern." Indira Gandhi
 

Lesen sie die antworten

#1 Thomas Kühn
17/04/2008 - 10:39 | Warnen spam
Moin eric,


Dim Bereich As Range
Set Bereich = Selection
  Cells(Bereich.Row - 1, Bereich.Column).Copy
  On Error Resume Next REM OK, braucht man eignetlich nicht :-)
  Bereich.PasteSpecial Paste:=xlFormulas




Range(Neuerbereich).Formula = _
Range(Alterbereich).FormulaR1C1


Gruß Thomas

http://www.thomas-kuehn.de

Ähnliche fragen