Ich hab hier ein Makro zum kopieren von Formeln ohne änderung der Zellbezüge. Jedoch lassen sich damit keine ArrayFormeln (Matrixformeln) kopieren. Was muss ich dazu ändern bzw. wie lässt sich das Makro umbauen, dass man auch Arrayformeln kopieren kann?
Vielen Dank schonmal und liebe Grüße!
Sub FormelnKopieren()
'Quelle: Smarttools Excel Weekly
Dim rngQuellbereich As Range
Dim rngZielbereich As Range
Set rngQuellbereich = Selection
If Selection.Count = 1 Then
MsgBox "Bitte markieren Sie die Zellen, aus " & _
"denen Formeln kopiert werden sollen!", _
vbCritical + vbOKOnly, "SmartTools Excel Weekly"
Exit Sub
End If
If Selection.Areas.Count > 1 Then
MsgBox "Eine Mehrfachauswahl kann nicht " & _
"kopiert werden!", vbCritical + vbOKOnly, _
"SmartTools Excel Weekly"
Exit Sub
End If
If IsNull(rngQuellbereich.HasArray) Then
MsgBox "Arrayformeln koennen nicht kopiert werden!", _
vbCritical + vbOKOnly, "SmartTools Excel Weekly"
Exit Sub
End If
Set rngZielbereich = Application.InputBox( _
"Bitte markieren Sie den Bereich, " & _
"in den Sie die Formeln kopieren moechten:", Type:=8)
If rngZielbereich.Parent.ProtectContents Then
MsgBox "Der Zielbereich ist geschuetzt.", _
vbCritical + vbOKOnly, "SmartTools Excel Weekly"
Exit Sub
End If
If rngQuellbereich.Count rngZielbereich.Count Or _
rngQuellbereich.Rows.Count _
rngZielbereich.Rows.Count Or _
rngQuellbereich.Columns.Count _
rngZielbereich.Columns.Count Then
MsgBox "Der Zielbereich muss genauso gross sein, " & _
"wie der markierte Quellbereich!", _
vbCritical + vbOKOnly, "SmartTools Excel Weekly"
Exit Sub
End If
rngZielbereich.FormulaLocal = _
rngQuellbereich.FormulaLocal
End Sub