Hallo,
ich erstelle ein Excel-File, welches auf mehreren Tabellenblättern auf großen Bereichen recht komplexe Formeln mit diversen Bedingungen, SVerweis, etc. nutzt. Da dies zu gewissen Verzögerungen führt, wenn nach jeder Eingabe Excel alle Formeln aktualisiert, würde ich viele dieser Formeln gern die meiste Zeit inaktiv halten, da ich sie nur in einem bestimmten Zusammenhang (Auswertung fahren) brauche.
Einige Formeln sollen aber permanent aktiv sein damit der Personenkreis, der die Daten pflegt einige Funktionen direkt nutzen kann (z.B. Gesamtsumme-gegen-Planwert-Abgleich). Deshalb ist es keine Option die Berechnungsoption für die Formeln komplett auf 'manuell' zu stellen.
Unten stehender Code funktioniert sehr gut für eine einzelne Zelle. Sobald ich aber R1 größer definiere ("R15:E15") bekomme ich in der drittletzten Zeile die Fehlermeldung "Typen unverträglich". Eine Lösung mit Schleifen für Zeilen und Spalten würde sicher funktionieren, ich vermute aber mal die Schleifen zu durchlaufen wäre langsamer (oder?).
Im vorliegenden vereinfachten Beispiel steht im Tabellenblatt in den ersten drei Zeilen Zahlen und in der fünften Zeile " '=X1:X3 " mit X jeweils die aktuelle Spalte (A, B, C etc.)
Dr. Google konnte mir leider nicht weiterhelfen, als bis hier. Hoffe Ihr könnt mir die entscheidende letzte Hilfestellung geben.
Danke schon mal im Voraus
Oliver
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | Sub Formeln_kurzzeitig_aktivieren()
Dim R1 As Range
Set R1 = Range( "B5" )
With R1
.FormulaLocal = .Value
.Copy
.Offset(2, 0).PasteSpecial Paste:=xlPasteValues
.Value = "'" & R1.FormulaLocal
End With
End Sub
|
|