Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Code vereinfachen
#1
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


Angehängte Dateien
.xlsm   Test 1.xlsm (Größe: 48,88 KB / Downloads: 6)
Mit freundlichem Gruß

Rudi

WIN 7
Office 2010
Antworten Top
#2
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
Antworten Top
#3
Hallo Uwe,

vielen Dank für deine schnelle und funktionierende Antwort. !
Mit freundlichem Gruß

Rudi

WIN 7
Office 2010
Antworten Top


Gehe zu:


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