Excel - Zelleninhalt löschen, wenn in anderer Zelle "Wert" steht.

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Wenn Du in Deiner Tabelle bist, dann mache mal einen Rechtsklick auf den Tabellenreiter(ganz unten, da wo z.B. Tabelle1 steht) und klicke im Kontextmenü auf : "Code anzeigen"
In das große, leeren Fenster des VBA-Editors, der sich dann öffnet, kopierst Du diesen Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("F3")) Is Nothing Then
Select Case Range("F3").Value
Case 1
Range("F16:F21").ClearContents
Range("F24:F29").ClearContents
Range("L8:L13").ClearContents
Range("L16:L21").ClearContents
Range("L24:L29").ClearContents
Case 2
Range("F24:F29").ClearContents
Range("L8:L13").ClearContents
Range("L16:L21").ClearContents
Range("L24:L29").ClearContents
Case 3
Range("L8:L13").ClearContents
Range("L16:L21").ClearContents
Range("L24:L29").ClearContents
Case 4
Range("L16:L21").ClearContents
Range("L24:L29").ClearContents
Case 5
Range("L24:L29").ClearContents
End Select
End If
End Sub
Der Code wird automatisch ausgeführt wenn der Wert in F3 geändert wird, auch wenn er neu eingetragen wird.
Er sollte eigentlich machen, was Du willst.
Teste ihn mal genau.
Eventuell kannst Du ihn auch wohl selber anpassen, da die Select Case-Anweisung recht einfach und selbstverständlich aufgebaut ist.
Klappt es?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

soll wirklich der Inhalt gelöscht werden oder reicht's wenn der Inhalt nur nicht angezeigt wird?


Hosenmist95 
Beitragsersteller
 14.07.2011, 22:27

Der Inhalt muss gelöscht werden, da diese Werte in eine Formel einlaufen, die dann ein falsches Ergebniss liefern würde. Es muss gelöscht werden. Das es nicht angezeigt wird, könnte ich auch ;)

0
Iamiam  15.07.2011, 00:29
@Hosenmist95

Wenn das in eine Formel "einläuft", steht in der Formelzelle auch #WERT! und Du siehst, dass da ein Fehler in der Spur ist. Wenn der Wert einfach folgenlos fürs Ergebnis gelöscht werden kann, dann hat er keine Rolle gespielt, Du kannst ihn also weglassen. Sowas macht man nicht per Makro, sondern mit der Formel: =wenn(NICHT(ISTFEHLER(Summe(alle betroffenen Zellen)));dann weiter wie vorgesehen; sonstirgendwas Andreas).

Eine Fehleingabe kann man einfach überschreiben, dazu braucht man auch kein Makro. Im übrigen: wenn Du Antworten erwartest, solltest Du sie auch bewerten. Ich bewundere die Geduld von Oubyi, dass er Dir nochmals eine ausführliche Antwort hat zukommen lassen!
http://www.gutefrage.net/frage/excel---zelle-sperren-wenn-eine-zelle-gleich-wahr-ist

0