Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zellwerte übernehmen





Frage

Hallo zusammen. ich habe mit hilfe einer VBA einige Bilder in meine tabelle integriert. Die Voraussetzung, dass ein bild angezeigt wird ist die eingabe in Feld B4. Schreibe ich also 1 in B4 wird das erste Bild gezeit, bei 2 eben das zweite und so weiter. Ich möchte nun das feld B4 mit entweder einem Verweis auf eine andere Zelle oder mit einer Wenn-dann Formel versehen. So dass die Bilder gezeigt werden, wenn bestimmte Voraussetzungen erfüllt werden. Ändert sich nund mein wert in B4 durch die Wenn-Dann voraussetzung wird leider kein Bild mehr angezeigt obwohl die Zahl darin stimmt. Wenn ich die Zahl von Hand überschreibe, wird wieder das Bild angezeigt. ??????? Bitte um Hilfe

Antwort 1 von M.O.

Hallo,

wahrscheinlich wird dein Makro über das Change-Ereignis des Tabellenblatts ausgelöst.
Wenn du das Makro über das Calculate-Ereignis auslöst, sollte es klappen:

Private Sub Worksheet_Calculate()

Dein Makro

End Sub


Gruß

M.O.

Antwort 2 von bokap1975

hallo,

habs versucht. Leider sagt er mir wenn ich change in calculate umänder, Fehler im Kompilieren. Schicke mal den Anfang mit. Vielleicht kannst du was damit anfangen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("b90").Value = "1" Then
ActiveSheet.Pictures("Objekt 120").Visible = True
Else
ActiveSheet.Pictures("Objekt 120").Visible = False
End If
If Range("b90").Value = "2" Then
ActiveSheet.Pictures("Objekt 121").Visible = True
Else
ActiveSheet.Pictures("Objekt 121").Visible = False
End If
If Range("$B$90").Value = "3" Then
ActiveSheet.Pictures("Objekt 122").Visible = True
Else
ActiveSheet.Pictures("Objekt 122").Visible = False
End If

Antwort 3 von M.O.

Hallo,

versuch es mal so:

P
rivate Sub Worksheet_Calculate()
If Range("b90").Value = "1" Then
ActiveSheet.Pictures("Objekt 120").Visible = True
Else
ActiveSheet.Pictures("Objekt 120").Visible = False
End If
If Range("b90").Value = "2" Then
ActiveSheet.Pictures("Objekt 121").Visible = True
Else
ActiveSheet.Pictures("Objekt 121").Visible = False
End If
If Range("$B$90").Value = "3" Then
ActiveSheet.Pictures("Objekt 122").Visible = True
Else
ActiveSheet.Pictures("Objekt 122").Visible = False
End If
...
End Sub


Gruß

M.O.

Antwort 4 von bokap1975

Du bist ein Geni.

Super-Geil-Danke. Ich hab ne ewigkeit daran rumgedoktort.