Entf Taste sperren wenn Formel in Zelle steht (für PALO)

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Entf Taste sperren wenn Formel in Zelle steht (für PALO)

Entf Taste sperren wenn Formel in Zelle steht (für PALO)

von ThomasB » Di, 06.12.2011 10:38

Hallo, ich habe folgendes Problem:

für unser Controlling setze ich als Ergänzung PALO als BI-Lösung ein. Dies läuft auch soweit sehr gut. Bis dato alles in Excel. Nun soll auf OO umgestellt werden. Das Add-In von PALO läuft auch hier problemlos.

Nun muss ich die Eingabedateien umstellen und dabei ist folgendes Problem aufgetaucht:

Die Datenabfrage in der Palodatenbank erfolgt mit einer Funktion. Soll der angezeigte Wert geändert werden, so muss direkt die Funktion mit dem neuen Wert überschrieben werden. Das Add-In schreibt dann den Wert in die Datenbank und schreibt in der Zelle wieder die Abfragefunktion. Dadurch wird der "neue" korrekte Wert aus der Datenbank angezeigt.

Um zu verhindern, dass ungeübte User bei Falscheingabe von Werten anstelle diese zu überschreiben den Zellwert per Entf oder Backspace-Taste entfernen und einen neuen eingeben (Dadurch würde die Funktion gelöscht, somit können die Werte nicht mehr in die Datenbank übertragen werden) habe ich mit folgenden kurzen VBA -Code in Excel die Funktion der Entf und Backspace-Taste für Zellen die eine Formel enthalten gesperrt:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.HasFormula = True Then
Application.OnKey "{del}", ""
Else
Application.OnKey "{del}"
End If
If Target.HasFormula = True Then
Application.OnKey "{Backspace}", ""
Else
Application.OnKey "{Backspace}"
End If
End Sub

Ich habe mehrere Versuche angestellt und im Web recherchiert, konnte das Problem aber nicht lösen.

Kann mir jemand helfen den VBA-CODE in ein Makro zu konvertieren bzw. hat jemand eine Idee wie dies anders gelöst werden kann?

Nach oben