Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Grafik per VB ein-/ausblenden

Grafik per VB ein-/ausblenden
08.02.2005 09:40:45
der.dan
Guten Morgen.
Da ich über's Wochenende nicht ins Forum konnte, ist "meine" Diskussion zur Ein-/Ausblendung von Grafiken ein wenig zu weit nach unten gerutscht... :-(
Dumm nur daß ich das Problem immer noch nicht lösen konnte. Daher hoffe ich nochmals auf Hilfe der (VBA-)Experten hier...
Der Urspruchsthread war der folgende: https://www.herber.de/forum/messages/561193.html
Es ging (und geht immer noch) darum bei der Auswahl von zwei verschiedenen OptionButtons zwei Grafiken ein- oder auszublenden.
Damit Ihr nicht wirklich alles lesen müsst, hier der letzte Beitrag zu dem Thema:
"Hallo Bernd.
Entschuldige bitte meine späte Rückmeldung.
Angepasst habe ich den Code ja mittlerweile, nur erhalte ich bei Ausführung folgende Meldung:
"
Laufzeitfehler '-2147024809 (80070057)
Das Element mit dem angegebenen Namen wurde nicht gefunden.
"
Mein Code lautet wie folgt:
"

Private Sub OptionButtonA2_Click()
If OptionButtonA2 = True Then
Worksheets("Montag").Shapes("Bild76").Visible = False
End If
End Sub

"
Wenn ich die Fehlermeldung mit beenden quittiere, erhalte ich folgende Fehlermeldung:
"
Laufzeitfehler '5':
Ungültiger Prozeduraufruf oder ungültiges Argument
"
Nun bin ich vollkommen durcheinander...
mfg, Dan


Bezieht sich auf diese Nachricht:
hallo dan
versuch mal so:
nimm mal folgendes makro mit dem recorder auf.
einfach nur das bild anclicken.
dann kommt sowas raus:
Sub Makro2()
'
' Makro2 Makro
' Makro am 04.02.2005 von B aufgezeichnet
'
'
ActiveSheet.Shapes("Rectangle 4").Select
End Sub
in diesem beispiel wäre "Rectangle 4" der excelinterne name.
für dein blatt kannst worksheets("Tabelle1") schreiben.
also der name der unten auf dem tabellenreiter angezeigt wird.
der code für das ausblenden in diesem beispiel angepasst hieße dann:
Worksheets("Tabelle1").Shapes("Rectangle 4").Visible = False
bernd

"
Wäre super wenn ich hierzu weitere Hilfe bekommen könnte.
mfg, Dan
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 09:44:11
Josef
Hallo Dan!
Heist das Bild auch "Shapes("Bild76")", oder heist es vielleicht "Shapes("Bild 76")" ?
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Grafik per VB ein-/ausblenden
08.02.2005 11:16:00
der.dan
Hallo Josef.
Der Tipp mit dem Leerzeichen war hervorragend. Habe ich vollkommen übersehen...
Teilweise funktioniert das Ganze auch schon - zumindest das Ein- und Ausblenden von "Bild 76". Nur "Bild 77" wird weder ein- noch ausgeblendet - und ich weiß noch nicht warum.
Hier der "neue" Code:

Private Sub OptionButtonAuslandNein_Click()
If OptionButtonAuslandNein = True Then
Worksheets("Montag").Shapes("Bild 76").Visible = True And Worksheets("Montag").Shapes("Bild 77").Visible = False
End If
End Sub


Private Sub OptionButtonAuslandJa_Click()
If OptionButtonAuslandJa = True Then
Worksheets("Montag").Shapes("Bild 76").Visible = False And Worksheets("Montag").Shapes("Bild 77").Visible = True
End If
End Sub

Vielleicht findest Du ja noch was das ich übersehen habe.
mfg, Dan
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 11:25:51
Josef
Hallo Dan!
So geht das nicht!
Mit "And" kannst du die If-Abfrage(n) verknüpfen, aber nicht die Anweisungen!
Ich würde es so machen.

Private Sub OptionButtonAuslandNein_Click()
Worksheets("Montag").Shapes("Bild 76").Visible = OptionButtonAuslandNein
Worksheets("Montag").Shapes("Bild 77").Visible = Not OptionButtonAuslandNein
End Sub
Private Sub OptionButtonAuslandJa_Click()
Worksheets("Montag").Shapes("Bild 76").Visible = OptionButtonAuslandJa
Worksheets("Montag").Shapes("Bild 77").Visible = Not OptionButtonAuslandJa
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 12:08:54
der.dan
Hm - also wenn ich Deinen Code 1:1 übernehme, dann passiert beim anklicken der entsprechenden OptionButtons ersteinmal überhaupt nichts.... Auch wenn ich eine If-Then-Verknüpfung einbaue tut sich nicht wirklich viel...
Auch wenn ich meinen Code ein wenig umschreibe und eine "Else:"-Funktion einbaue funktioniert es noch nicht so wie ich es gerne hätte - es werden dann beide Bilder angezeigt - egal welcher Button gerade aktiv ist...
Hier mal meine Abwandlung:

Private Sub OptionButtonAuslandNein_Click()
If OptionButtonAuslandNein = True Then
Worksheets("Montag").Shapes("Bild 76").Visible = True
Else: Worksheets("Montag").Shapes("Bild76").Visible = False
End If
End Sub


Private Sub OptionButtonAuslandJa_Click()
If OptionButtonAuslandJa = True Then
Worksheets("Montag").Shapes("Bild 77").Visible = True
Else: Worksheets("Montag").Shapes("Bild 77").Visible = False
End If
End Sub

mfg, Dan
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 12:14:01
Josef
Hallo Dan!
Sorry, ein "Not" war falsch!

Private Sub OptionButtonAuslandNein_Click()
Worksheets("Montag").Shapes("Bild 76").Visible = Not OptionButtonAuslandNein
Worksheets("Montag").Shapes("Bild 77").Visible = OptionButtonAuslandNein
End Sub
Private Sub OptionButtonAuslandJa_Click()
Worksheets("Montag").Shapes("Bild 76").Visible = OptionButtonAuslandJa
Worksheets("Montag").Shapes("Bild 77").Visible = Not OptionButtonAuslandJa
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 13:21:16
der.dan
Hallo Josef. (Oder Sepp?)
Super! Funktioniert ganz vorzüglich! :-D
Wusste gar nicht daß man in VB auch ohne If- oder andere "Anweisungen" Funktionen programmieren kann. Wieder was dazu gelernt! :-)
Jetzt habe ich gleich noch eine Frage: Wie kann ich es realisieren in Folge eines "TRUE" mehrere Aktionen gleichzeitig bzw. direkt hintereinander auszuführen. Das "AND" soll ja nicht funktionieren...
mfg, Dan
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 13:31:57
Josef
Hallo Dan!
Dann musst du mit If arbeiten!

Private Sub OptionButtonAuslandNein_Click()
If OptionButtonAuslandNein = True Then
Worksheets("Montag").Shapes("Bild 76").Visible = True
Worksheets("Montag").Shapes("Bild 77").Visible = False
'sonstige Anweisungen
End If
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 13:57:02
der.dan
Also kann ich einfach "in-einem-durch-schreiben"? Super! :-)
Hab gleich noch eine Frage zum Thema Zellschutz - Mache hierzu aber gerade einen neuen Thread auf, da sich die Thematik doch deutlich hiervon unterscheidet...
Vielen Dank auf jeden Fall für Deine Hilfe zu diesem Problem!
mfg, Dan
Anzeige
AW: Grafik per VB ein-/ausblenden
08.02.2005 14:12:34
der.dan
Also kann ich einfach "in-einem-durch-schreiben"? Super! :-)
Hab gleich noch eine Frage zum Thema Zellschutz - Mache hierzu aber gerade einen neuen Thread auf, da sich die Thematik doch deutlich hiervon unterscheidet...
Vielen Dank auf jeden Fall für Deine Hilfe zu diesem Problem!
mfg, Dan
Anzeige
AW: Grafik per VB ein-/ausblenden
RR
Teste mal:
Shapes("Bild 76").Visible = msoFalse
Gruß
RR
AW: Grafik per VB ein-/ausblenden
08.02.2005 11:18:39
der.dan
Hallo RR.
Was ist denn "msoFalse" für ein Befehl? Im Recorder ist der Befehl nicht bekannt, und auch die Suche kann mir hier nicht helfen....
mfg, Dan
;
Anzeige
Anzeige

Infobox / Tutorial

Grafiken in Excel mit VBA ein- und ausblenden


Schritt-für-Schritt-Anleitung

Um Grafiken in Excel mit VBA ein- und auszublenden, befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge einen neuen Modul hinzu:

    • Klicke im Projektfenster mit der rechten Maustaste auf das entsprechende Arbeitsblatt und wähle „Einfügen“ > „Modul“.
  3. Schreibe den VBA-Code:

    • Verwende folgenden Code, um eine Grafik auszublenden:
      Private Sub OptionButtonA2_Click()
       If OptionButtonA2 = True Then
           Worksheets("Montag").Shapes("Bild 76").Visible = False
       End If
      End Sub
    • Um mehrere Grafiken ein- oder auszublenden, verwende:
      Private Sub OptionButtonAuslandNein_Click()
       Worksheets("Montag").Shapes("Bild 76").Visible = True
       Worksheets("Montag").Shapes("Bild 77").Visible = False
      End Sub
  4. Teste den Code:

    • Wechsle zurück zu Excel und teste die Funktion, indem du die entsprechenden Optionsbuttons auswählst.

Häufige Fehler und Lösungen

  • Fehlermeldung „Element mit angegebenem Namen wurde nicht gefunden“:

    • Überprüfe, ob der Name der Grafik exakt mit dem in deinem Code übereinstimmt. Achte auf Leerzeichen oder Tippfehler.
  • Grafik wird nicht ein- oder ausgeblendet:

    • Stelle sicher, dass die OptionButtons korrekt verbunden sind. Verwende die richtige Logik in deinen If-Abfragen.

Alternative Methoden

Wenn du auf VBA verzichten möchtest, kannst du auch die Funktionen von Excel nutzen:

  • Formeln verwenden:

    • Nutze die Sichtbarkeit von Objekten in Kombination mit Datenvalidierung, um die Darstellung zu steuern.
  • PowerPoint-Bilder ein- und ausblenden:

    • Wenn du in PowerPoint arbeitest, kannst du ähnliche VBA-Codes verwenden, um Bilder ein und auszublenden.

Praktische Beispiele

Hier sind einige Anwendungsbeispiele, die dir helfen, das Ein- und Ausblenden von Grafiken in Excel zu verstehen:

  1. Ein Bild ausblenden, wenn ein bestimmter Wert erreicht wird:

    If Range("A1").Value > 10 Then
       Worksheets("Montag").Shapes("Bild 76").Visible = False
    End If
  2. Mehrere Bilder basierend auf Auswahl einblenden:

    If OptionButton1.Value = True Then
       Worksheets("Montag").Shapes("Bild 76").Visible = True
       Worksheets("Montag").Shapes("Bild 77").Visible = False
    End If

Tipps für Profis

  • Verwende msoFalse für bessere Lesbarkeit:

    Worksheets("Montag").Shapes("Bild 76").Visible = msoFalse
  • Nutze die „Select“ Methode nur, wenn nötig:

    • Reduziere die Verwendung von .Select, um den Code effizienter zu gestalten.
  • Debugging:

    • Setze Haltepunkte im Code, um den Status der Variablen und Objekte zu überprüfen.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen „Visible = False“ und „Visible = msoFalse“?
Beide Methoden blenden die Grafik aus, wobei msoFalse eine Konstante ist, die den Code lesbarer macht.

2. Wie kann ich mehrere Aktionen in einer VBA-Prozedur ausführen?
Du kannst mehrere Anweisungen nacheinander innerhalb einer If-Abfrage schreiben, ohne And zu verwenden. Beispiel:

If OptionButtonA2 = True Then
    Worksheets("Montag").Shapes("Bild 76").Visible = False
    Worksheets("Montag").Shapes("Bild 77").Visible = True
End If

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige