4.2k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,
ich bräuchte mal wieder Hilfe. Ich möchte die Zeile 15 ausblenden, sobald in D15 ein "nein" erscheint. Bin VBA Anfänger, muss ich dazu sagen. Das "nein" erscheint aufgrund eines SVERWEISes. Geht das?

15 Antworten

0 Punkte
Beantwortet von
Was ich noch vergessen habe...wenn die Zelle ausgeblendet wird soll stattdessen ein Standardtext eingefügt werden. Vielen Dank für Eure Hilfe!
0 Punkte
Beantwortet von silbersurfer Mitglied (545 Punkte)
Hallo
Probiers mal folgendermaßen.

' - - - - - - - - - - - - - - - - - -
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Range("$D$15") = "nein" Or Range("$D$15") = "Nein" Then
Rows(15).EntireRow.Hidden = True
Set WshShell = CreateObject("WScript.Shell")
WshShell.popup "Zeile ist ausgeblendet", 1.5, "Ausgeblendet"
End If

If Range("$D$15") <> "nein" And Range("$D$15") <> "Nein" Then
Rows(15).EntireRow.Hidden = False
End If

End Sub
' - - - - - - - - - - - - - - - - - -

Gruß
0 Punkte
Beantwortet von miries Einsteiger_in (25 Punkte)
Erstmal vielen Dank. Ich habe allerdings eine blöde Frage. Bin ein kompletter Neuling in Sachen VBA. Ich hinterlege den Code einfach in der Entwicklungsumgebung oder? Irgendwie funktioniert das bei mir nicht...
0 Punkte
Beantwortet von silbersurfer Mitglied (545 Punkte)
Hallo

>> Irgendwie funktioniert das bei mir nicht ...

Rechtslick mit der Maus unten auf das Tabellenblatt -- Code anzeigen -- Da kopierst du den Code-Text rein. Und dann sollte das funktionieren.

Gruß
0 Punkte
Beantwortet von miries Einsteiger_in (25 Punkte)
Vielen Dank. Es funktioniert. Jetzt wäre meine Frage allerdings noch, ob es geht, dass der Text "Zeile ausgeblendet nicht als Pop-up erscheint, sondern beispielsweise in der Zeile darunter eingeblendet wird. Das geht doch mit einer einfachen WENN Funktion oder muss ich das auch mit VBA machen?
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
schreibe für
Set WshShell = CreateObject("WScript.Shell")
WshShell.popup "Zeile ist ausgeblendet", 1.5, "Ausgeblendet"
End If
Range("D16")="ausgeblendet"
else
Range("D16")=""

Gruß Hajo
0 Punkte
Beantwortet von
Hallo,
Ich habe den Code ausprobiert und das Problem ist, dass wenn in der Zelle dann etwas anderes steht, sie ausgeblendet bleibt. gibt es eine Lösung, dass der Code die ganz Zeit läuft? Also wenn statt nein ja da steht soll sie eingeblendet sein...?
Schonmal danke!
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
der Code in Antwort 2 enthielt dies.

Gruß Hajo
0 Punkte
Beantwortet von silbersurfer Mitglied (545 Punkte)
Hallo

Nachfolgend nochmal der gesamte Code. Der funktionieren sollte.

' - - - - - - - - - - - - - - - - - -
Private Sub Worksheet_Change(ByVal Target As Excel.Range)

If Range("$D$15") = "nein" Or Range("$D$15") = "Nein" Then
Rows(15).EntireRow.Hidden = True
Range("$D$16") = "ausgeblendet"

Else

Rows(15).EntireRow.Hidden = False
Range("$D$16").ClearContents
End If

End Sub
' - - - - - - - - - - - - - - - - - -

Gruß
0 Punkte
Beantwortet von miries Einsteiger_in (25 Punkte)
Hallo Hajo,
wenn ich den neuen Code verwende, dann tritt bei mir ein Fehler auf und Excel schließt sich automatisch.
Es erscheint: DIe Anwendung hat einen Ausnahefehler generiert, der nicht verarbeitet werden konnte.
Habe es bei einem ganz leeren Tabellenblatt ausprobiert, kann also nicht an anderen Makros liegen.
Vielen Dank für Deine umfangreiche Hilfe bisher.
...