Thema Datum  Von Nutzer Rating
Antwort
Rot Formeln per VBA kurzzeitig aktivieren
07.05.2019 16:17:25 Oliver
NotSolved
07.05.2019 20:23:39 Gast52805
NotSolved
09.05.2019 08:33:15 Gast32827
NotSolved
09.05.2019 10:22:44 Gast26621
NotSolved
09.05.2019 15:51:13 Gast71706
NotSolved

Ansicht des Beitrags:
Von:
Oliver
Datum:
07.05.2019 16:17:25
Views:
717
Rating: Antwort:
  Ja
Thema:
Formeln per VBA kurzzeitig aktivieren

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

Sub Formeln_kurzzeitig_aktivieren()
Dim R1 As Range

Set R1 = Range("B5")

With R1
' Formel aktivieren: Hochkomma vor dem = entfernen
    .FormulaLocal = .Value
    
' Kopieren und Ergebnis der Formel in Zeile 7 einfügen
    .Copy
    .Offset(2, 0).PasteSpecial Paste:=xlPasteValues
    
' Formel deaktivieren: Hochkomma vor das = setzen
    .Value = "'" & R1.FormulaLocal
    
End With
End Sub

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Formeln per VBA kurzzeitig aktivieren
07.05.2019 16:17:25 Oliver
NotSolved
07.05.2019 20:23:39 Gast52805
NotSolved
09.05.2019 08:33:15 Gast32827
NotSolved
09.05.2019 10:22:44 Gast26621
NotSolved
09.05.2019 15:51:13 Gast71706
NotSolved