Wenn dann Zeilen ausblenden, Fehler im Skript?
#1
Hallo,

in meinem Excel-Blatt habe ich so programmiert, dass entsprechenden Zeilen in abhängig von "leer" (keine Zeichen), "1", "2" oder "3" im Feld "D41" ausgeblendet werden sollten:


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D41"), Target) Is Nothing Then
Rows("90:95").Hidden = Range("D41") = ""
Rows("94:95").Hidden = Range("D41") = "1"
Rows(93).Hidden = Range("D41") = "2"
Rows(95).Hidden = Range("D41") = "2"
Rows("93:94").Hidden = Range("D41") = "3"
End If
End Sub

Dennoch funktioniert es nicht ganz: z.B.:
- bei "leer" (keine Zeichen) sind nur die Zeilen 90, 91 und 92 dann ausgeblendet, aber die Zeilen 93, 94 und 95 nicht.
- bei "1" sind die Zeilen 94 und 95 nicht ausgeblendet.
- etc.

Wo liegt der Fehler? Oder was muss ich richtig programmieren?

Herzlichen Dank im Voraus und ich wünsche euch allen schönen Abend noch!

Martin
Antworten Top
#2
Hallo Martin,

z.B. so:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  With Range("D41")
    If Target.Address = .Address Then
      Rows("90:92").Hidden = .Value = ""
      Rows(93).Hidden = .Value = "" Or .Value = 2 Or .Value = 3
      Rows(94).Hidden = .Value = "" Or .Value = 1 Or .Value = 3
      Rows(95).Hidden = .Value = "" Or .Value = 1 Or .Value = 2
    End If
  End With
End Sub

Gruß Uwe
Antworten Top
#3
Hallo Uwe,

es klappt! Vielen Dank! :)

Herzliche Grüße

Martin
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste