Excel - Zelleninhalt löschen, wenn in anderer Zelle "Wert" steht.
Hallo Leute,
Ich habe ein problem:
Wenn in der Zelle F3 die Zahl 1 steht, dann sollen die Bereiche "F16:F21", "F24:F29", "L8:L13", "L16:L21" und "L24:L29" gelöscht werden. Wenn jetzt aber in der zelle F3 die Zahl 2 steht, so sollen nur die Bereiche "F24:F29", "L8:L13", "L16:L21" und "L24:L29" gelöscht werden. Sollte in der Zelle F3 die zahl 3 stehen, so sollen die Zellen "L8:L13", "L16:L21" und "L24:L29" gelöscht werden, bei der Zahl 4 die zellen "L16:L21" und "L24:L29" und bei der Zahl 5 die zellen "L24:L29".
Allerdings nur deren Inhalt, nicht die Formatierung.
Da dies per Formel nicht möglich ist, muss man es wohl über Makro oder VBA oder so lösen. Leider kenne ich mich da nicht aus!
Ich hoffe ihr könnt mir helfen :D
gruß Hosenmist95
2 Antworten
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?
soll wirklich der Inhalt gelöscht werden oder reicht's wenn der Inhalt nur nicht angezeigt wird?
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
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 ;)