Clever-Excel-Forum

Normale Version: Code vereinfachen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Gemeinde,

hoffe es geht allen gut !

Habe hier ein Problem und komme irgendwie nicht weiter.
In Tabelle 1  D4 bis AL4 sind die grünen Männchen als Grafik 1 bis Grafik 35 sichtbar.
Mein Problem ist nun wenn in Zelle D5 eine Zahl steht soll das grüne Männchen darüber angezeigt werden, steht keine Zahl darin soll es auch nicht angezeigt werden.

Das selbe dann auch in Zeile 6 mit den Zahlen und Zeile 7 mit  den roten Männchen (Grafik 201 ......)

Habe einen Code der soweit funktioniert aber dieser ist hier bei den 3 "zu" schon seeeeeehr lang, 
wie kann man den Code vereinfachen so dass er nicht ins uferlose wächst  wen jetzt noch ein oder mehrere "zu" dazukommen ?


Auszug aus meinem Code

If Range("D5").Value > "0" Then
Worksheets("Tabelle1").Shapes("Grafik 1").Visible = True
Else
Worksheets("Tabelle1").Shapes("Grafik 1").Visible = False
End If

If Range("E5").Value > "0" Then
Worksheets("Tabelle1").Shapes("Grafik 2").Visible = True
Else
Worksheets("Tabelle1").Shapes("Grafik 2").Visible = False
End If

If Range("F5").Value > "0" Then
Worksheets("Tabelle1").Shapes("Grafik 3").Visible = True
Else
Worksheets("Tabelle1").Shapes("Grafik 3").Visible = False
End If

If Range("G5").Value > "0" Then
Worksheets("Tabelle1").Shapes("Grafik 4").Visible = True
Else
Worksheets("Tabelle1").Shapes("Grafik 4").Visible = False
End If

If Range("H5").Value > "0" Then
Worksheets("Tabelle1").Shapes("Grafik 5").Visible = True
Else
Worksheets("Tabelle1").Shapes("Grafik 5").Visible = False
End If

If Range("I5").Value > "0" Then
Worksheets("Tabelle1").Shapes("Grafik 6").Visible = True
Else
Worksheets("Tabelle1").Shapes("Grafik 6").Visible = False
End If
Hallo Rudi,

Code:
Sub test()
  Dim i As Long
  With Worksheets("Tabelle1")
    For i = 4 To 30
      .Shapes("Grafik " & i - 3).Visible = Cells(5, i).Value <> ""
    Next i
  End With
End Sub

Gruß Uwe
Hallo Uwe,

vielen Dank für deine schnelle und funktionierende Antwort. !