Problem
Schneidet man einen Bereich aus, um ihn anderswo einzufügen, werden die Formeln identisch beibehalten. Aber die Quelle ist weg! Wie behält man sie bei, so dass Quelle und Ziel formelidentisch existieren?
Lösung (2007.01.20 Thomas Ramel)
a) mit interaktiver Markierungsanweisung für Quelle und Ziel im Makro:
Sub Copy_Formula()
Dim rngSource As Range
Dim rngGoal As Range
Set rngSource = Application.InputBox("Bitte markieren
Sie den Bereich den Sie kopieren wollen", "Quellbereich",
Type:=8)
Set rngGoal = Application.InputBox("Bitte markieren Sie
die linke obere Ecke des Zielbereiches", "Zielbereich", Type:=8)
With rngSource
rngGoal.Resize(.Rows.Count, .Columns.Count).Formula
= .Formula
End With
End Sub
b) mit Verwendung der aktuellen Selektion als Quelle und Markierungsanweisung für das Ziel im Makro:
Sub Copy_Formula_Selection()
Dim rngGoal As Range
Set rngGoal = Application.InputBox("Bitte markieren Sie die
linke obere Ecke des Zielbereiches", "Zielbereich", Type:=8)
With Selection
rngGoal.Resize(.Rows.Count, .Columns.Count).Formula =
.Formula
End With
End Sub