Schalfläche per zwei Zellenwerte ausblenden

Hallo Liebe Wissende,

ich benötige mal wieder eure Hilfe.

Ist es möglich wenn in 2 Zellen bestimmte Zahlen eingetragen werden, dass dann eine Schaltfläche ausgeblendet wird?

Sprich in
A1 = 1000
A2 = 200 oder 300 oder 500

und erst dann wird eine Schaltfläche ausgeblendet.

Wenn dann z.B. eingetragen wird

A1 = 3000
A2 = 200

darf nichts passieren.

Mit einer Zelle bekomme ich es hin.Private Sub Worksheet_Change(ByVal target As Range)If target.Address „$A$1“ Then Exit SubIf target.Value = „1000“ Then Call ausblendenEnd Sub
Könnt Ihr mir bitte den passenden Code schreiben und dabei am besten per Kommentar aufzeigen was welcher Code bedeutet?

Schon mal vielen lieben Dank.

Gruß

Julian

Hallo Julian,

habe deine Anfrage nicht ganz verstanden, aber hier ein paar Hinweise zur Klärung:

In der Zelle A1 steht ein zwar beliebiger, aber fester Wert. (?)
Ich trage in einer anderen Zelle des selben WorkSheets einen Wert ein. (?)
So er mit A1 übereinstimmt, soll die Sub ausblenden starten. (?)

Dann so:
Sub Worksheet_Change(ByVal target As Range)
'kontrollieren, ob der Wert der Eingabe zu A1 passt
If Cells(target.Row, target.Column).Value = Cells(1, 1).Value Then
'wenn es passt, ausblenden aufrufen
ausblenden
End If
End Sub
(ungetestet)

Was ich mich noch frage ist, wie das Steuerelement wieder sichtbar wird…

fg

Dirk.P

Hallo!

Wenn ich das richtig verstanden habe, würde wie folgt funktionieren:

Private Sub Worksheet_Change(ByVal Target As Range)
'Zuerst überprüfen, ob die aktuelle Zelle A1 oder A2 ist; wenn weder A1 noch A2, wird die sub wieder verlassen, weil dann eine Überprüfung keinen Sinn machen würde
If Target.Address „$A$1“ And Target.Address „$A$2“ Then Exit Sub

'Wenn in Zelle A1 oder A2 was verändert wurde, kommt nachfolgende Abfrage ins Spiel; hier wird überprüft, ob in Zelle A1 und A2 deine vorgegebenen Werte stehen und wenn, wird ausblende aufgerufen

Gruß
Ralf
If Range(„A1“) = „1000“ And Range(„A2“) = „2000“ Then Call ausblenden

End Sub

Hallo Ralf,

genau so habe ich mir es vorgestellt.

Nach meiner Logik könnte man den Code normalerweiße einfach erweitern

If Range(„A1“) = „1000“ And Range(„A2“) = „2000“ or „4000“ or „5000“ Then Call ausblenden

Bedeutet sobald in A1=1000 steht und in A2 entweder 2000 oder 4000 oder 5000 eingetragen
wird, die Schaltfläche ausgeblendet wird.

Leider funktioniert das nicht.

Wenn ich den Code so erweitere, dann wird die Schaltfläche bereits bei 1 ausgeblendet - auch wenn in A2 nichts steht.

Wie bekomme ich es hin wenn in A1=1000 steht und in A2 entweder 2000 oder 4000 oder 5000 eingetragen
wird, die Schaltfläche ausgeblendet wird.

Schon mal vielen Dank im Voraus.

Gruß

Julian

Hallo jlnpipapo,

folgender Code funktioniert:

Sub Worksheet_Change(ByVal target As Range)
If (Range(„A1“).Value = 1000) And (Range(„A2“).Value = 2000) Then Cells(3, 3) = „12345“
End Sub

wenn Du in die Zelle den Wert 1000 eintippst und in dem Code nach „1000“ fragst, muß die Zelle als Text formatiert sein. Ich habe oben den Wert 1000 eingetippt und nach Value gefragt. Um die Funktion zu testen, lasse ich in Zelle (3,3) die Zahl 12345 eintragen, da ich das mit dem Ausblenden nicht machen wollte.

Ich bin mir nicht sicher, ob das mit dem …if (Range(„A2“) = „1000“ or „2000“ or „3000“ funktioniert, ich meine das müßte geschrieben werden:
if (Range(„A2“) = „1000“ or (Range(„A2“)=„2000“ or (Range(„A2“)=„3000“

Gruß
Pauli

z.B. mit einer Hilfszelle, bspw. X99, als Target mit einer Formel die A1 und A2 auswertet…

Hallo Julian,

du hast ja schon einige gute Antworten bekommen. Hier noch meine Version:

Private Sub Worksheet\_Change(ByVal Target As Range)
 ' Prüfen, ob eine Änderung in A1 oder A2 erfolgt ist. Falls nicht, Ende.
 If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
 ' Die nächste Zeile ist hoffentlich selbsterklärend.
 If Range("A1") = 1000 And (Range("A2") = 100 Or Range("A2") = 300 Or Range("A2") = 500) Then ausblenden
End Sub

Gruß, Andreas