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 hajo_zi Experte (9.1k Punkte)
es war nicht mein Code. Ich sehe keinen Grund warum es nicht laufen soll.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rows(15).EntireRow.Hidden = UCase(Range("$D$15")) = "NEIN"
If UCase(Range("$D$15")) = "NEIN" Then
Range("$D$16") = "ausgeblendet"
Else
Range("$D$16").ClearContents
End If
End Sub


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

... warum es nicht laufen soll.

Nee irgendwie klappts nicht. Es kommt die Fehlermeldung mit dem Stapelspeicher. Wie in Antwort 9. Aber ich hätte da einfach eine andere Lösung. Den Code von Antwort 2. verwenden. Und in Zelle D16 folgende Formel schreiben.


=WENN($D$15="nein";"ausgeblendet";"")


Dann funktionierts doch wie es sein sollte.

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

Ich hab jetzt nochmal eine Lösung mit nur VBA.
Da sollte es keine Probleme geben.

' - - - - - - - - - - - -
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Rows(15).EntireRow.Hidden = UCase(Range("$D$15")) = "NEIN"
If UCase(Range("$D$15")) = "NEIN" And UCase(Range("$D$15")) <> "ausgeblendet" Then
Range("$D$16") = "ausgeblendet"
Else
Range("$D$16").ClearContents
End If
End Sub
' - - - - - - - - - - - -
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ich denke die fehler kommen durch einen zirkelbezug zustande

das kann in modulen wie Ereignissen sein

Ereignisse ausschalten
module auf sich selbst aufrufenden Syntax kontrolliern

gruss nighty
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

ein Probelauf des letzten makros ergab
491 aufrufe bei Excel 2000

anfang des ereignissmakros
Application.EnableEvents = False
ende des ereignissmakros
Application.EnableEvents = True

verhindert den zirkelbezug im aufgerufenen ereignisses

gruss nighty
...