Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bilder mit Makro auf Arbeitsblättern einblenden

Forumthread: Bilder mit Makro auf Arbeitsblättern einblenden

Bilder mit Makro auf Arbeitsblättern einblenden
10.04.2016 18:03:33
Stefan
Hallo!
Ich habe 4 Bilder, diese werden per Makro ein- und ausgeblendet.
Jetzt habe ich aber mehrere Arbeitsblätter, und ich möchte dass auch auf den anderen Arbeitsblättern wenn ich das Makro ausführe, die Bilder direkt im aktiven Tabellenblatt angezeigt werden.
In dem Blatt names "Kalendertage" funktioniert es einwandfrei. Jetzt hab ich aber noch ein Blatt "5-Tage" "6-Tage" und "7-Tage".
Mit meinem jetzigen Code, der natürlich sehr einfach gestaltet und sicher verbessert werden kann, kommt dann leider eine Fehlermeldung, wenn ich den Code zb. im "5-Tage" Arbeitsblatt ausführen will. Da er die Bilder nicht findet.
Ich könnte jetzt zwar die gleichen Bildern noch auf die anderen Blätter einfügen und mit dem Code ergänzen, aber dann wird die Datei zu groß, was ich vermeiden möchte, weil es ja auch immer die gleichen Bilder sind.
Der Code würde dann noch 2 mal nach dem gleichen Prinzip weitergehen.
Sub ZeigeTeil_2016_1()
' ZeigeTeil1 Makro
ActiveSheet.Shapes.Range(Array("Grafik 11")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("Grafik 13")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("Grafik 14")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("Grafik 10")).Visible = Not ActiveSheet.Shapes.Range(Array("  _
_
Grafik 10")).Visible
End Sub

Sub ZeigeTeil_2016_2()
'
' ZeigeTeil2 Makro
'
'
ActiveSheet.Shapes.Range(Array("Grafik 10")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("Grafik 13")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("Grafik 14")).Visible = msoFalse
ActiveSheet.Shapes.Range(Array("Grafik 11")).Visible = Not ActiveSheet.Shapes.Range(Array(" _
Grafik 11")).Visible
End Sub

Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bilder mit Makro auf Arbeitsblättern einblenden
10.04.2016 18:28:23
Nepumuk
Hallo,
wenn du die Datei nicht weitergibst, dann füge die Bilder nur als Verknüpfung ein.
Gruß
Nepumuk

AW: Bilder mit Makro auf Arbeitsblättern einblenden
10.04.2016 19:08:46
Stefan
Nein das geht leider nicht, den die Datei wird auch weitergeben und deshalb müssen auch alle Bilder direkt eingefügt sein.
Und ich möchte eben vermeiden, dass ich die Bilder mehrfach einfügen muss obwohl Sie ja ident sind, nur weil sich das Arbeitsblatt ändert, da die Datei dann ja unnötig groß wird.
Da gibt es sicher eine einfachere Lösung dafür.

Anzeige
Bilder mit Makro auf Arbeitsblättern einblenden
10.04.2016 19:15:51
Nepumuk
Hallo,
weitergeben innerhalb eines Netzwerkes oder verschickst du sie auch per Mail an eine andere Firma?
Eine weitere Möglichkeit, du schneidest die Bilder aus wenn du eine Tabelle deaktivierst und füge sie in die Aktivierte ein. Damit hast du nur die vier Bilder in der Mappe.
Gruß
Nepumuk

Anzeige
AW: Bilder mit Makro auf Arbeitsblättern einblenden
10.04.2016 19:26:08
Stefan
Die Tabelle muss überall funktionieren, dass heißt auch außerhalb des Netzwerks.
Wie meinst du das? Wenn ich es ausschneide ist es ja im Tabellenblatt "Kalendertage" auch weg?
Kann man das nicht irgendwie einfach mit einem Makro lösen? Die Bilder sind ja da, nur ich brauch Sie eben in verschiedenen Tabellenblättern.

Anzeige
Bilder mit Makro auf Arbeitsblättern einblenden
10.04.2016 19:43:38
Nepumuk
Hallo,
ich meinte, du sollst die Bilder innerhalb der verschiedenen Tabellen verschieben, je nachdem welche Tabelle sichtbar ist. Wenn die Bilder in Tabelle A sichtbar sind und du aktivierst Tabelle B dann werden sie in Tabelle A ausgeschnitten und in Tabelle B eingefügt. Aktivierst du wieder Tabelle A werden sie in B ausgeschnitten und in A eingefügt.
Gruß
Nepumuk

Anzeige
AW: Bilder mit Makro auf Arbeitsblättern einblenden
11.04.2016 22:05:23
Stefan
Hm also ich weiß nicht, wie ich das umsetzen soll?
Ich hab damals anhand von dem Thread versucht, dass mit den Bildern zu machen hab es aber leider nicht hinbekommen. Vielleicht kann man da auch nochmal ansetzen.
https://www.herber.de/forum/archiv/1484to1488/t1484407.htm

Anzeige
AW: Fehlendes FB
14.04.2016 07:02:35
Bernd
Guten morgen,
schön das Du auf den alten Thread verweist. Nicht so schön ist jedoch die Tatsache, dass es beim alten Thread deinerseits keinerlei Feedback, nach meinem letzten Posting, gegeben hat.
Überdies hätte man damals bereits am Problem weiter arbeiten können, und nicht ein neues Thema aufzumachen.
Ergo, so verliert man die Freude zu helfen, auch wenn die Hilfestellung eventuell nicht die professionellste ist.
mfg Bernd

Anzeige
AW: Fehlendes FB
14.04.2016 07:30:20
Stefan
Hallo Bernd!
Tut mir leid, dass ich damals nicht mehr geantwortet habe, aber ich kam einige Tage nicht dazu mich damit genauer zu befassen.
Und danach ist leider immer ziemlich schnell der Beitrag geschlossen, dass ich nicht mehr antworten konnte. Jetzt hatte ich dann wieder mehr Zeit und hab es zumindest mal so hinbekommen, dass ich eben die Bilder ein- und ausblenden kann. Nur mein Makro ist natürlich alles andere als gut bzw. löst es nicht ganz mein Problem.
Deshalb konnte ich nur einen neuen Thread eröffnen, und nochmal nachfragen, und hoffe dass man das Problem nochmal genauer mit mir angehen kann.
Ich hab eben es mit deinen Vorlagen probiert, nur ich verstehe nicht wie man das Bild damit einbinden bzw. zuweisen kann. Und die nächste Frage ist ob, man es dann auch auf allen Tabellenblättern benutzen kann. Den die Bilder sind immer die gleichen.

Anzeige
AW: Fehlendes FB
15.04.2016 00:01:22
Stefan
Hallo Bernd!
Danke für deine Antwort und die Datei.
Hab mich jetzt herumgespielt und dass ist mal ein guter Ansatz. Hab versucht die Vorlage zu erweitern, aber wie kann ich ein Bild einer Zelle zuordnen?
Optimal wäre das ganze halt auch mit einer Steuerschaltfläche, wo ich einmal drücken kann das Bild wird angezeigt, nochmal und es ist ausgeblendet.

Anzeige
AW: Fehlendes FB
15.04.2016 05:23:11
Bernd
Guten morgen,
ein klein wenig musst Dich schon selbst beschäftigen mit Deinem Problem. Denn wie sollst Du, falls ein Problem auftritt, dieses dann selbst Lösen können?
Das Netz ist voll mit wirklich tollen Anleitungen, dazu muss man aber auch Wissen, wo die Reise hingehen soll, hier mal ein kleines Beispiel:
http://www.excel-inside.de/funktionen-a-tipps/973-dynamische-bilderanzeige
Überdies ist Deine Fragestellungen mehrdeutig, also "aber wie kann ich ein Bild einer Zelle zuordnen?"
Meinst Du jetzt am Sheet "Tabelle1" oder meinst Du am Sheet "Bilder"?
Und um Dir hier alles in Wort und Schrift zu erklären, da habe ich keine Lust zu. Ich schlage Dir vor, eine exakte Abbildung, natürlich mit Fakedaten, Deiner Mappe hier hoch zuladen.
Auch solltest Du in dieser Mappe genau Beschreiben, was, wie, wann und wo passieren sollte.
Wenn ich am WE Zeit finde, sehe ich es mir mal an bzw. sonst erst ab Montags wieder, falls sich nicht ohnehin bereits eine Lösung durch einen anderen Excelianer gefunden hat.
Dann trotzdem schönen Tag und freundliche Grüße,
Bernd

Anzeige
AW: Fehlendes FB
15.04.2016 07:31:15
Stefan
Guten Morgen Bernd!
Danke mal für deine Antwort.
Ich bin auch dabei mich damit zu beschäftigen. Und durchforste auch schon einige Anleitungen die es im Internet zu finden gibt.
Und ich muss auch wissen, wie es gemacht wird, weil ich es dann auch erweitern oder ändern will. Ich hab jetzt in deiner letzten Datei, im Drop Down Feld mal den Bereich vergrößert und habe darunter noch ein Bild eingefügt, im Tabellenblatt "Bilder".
Wenn ich den Drop-Down Button benutze funktionieren aber nur die ersten 3. Bilder. Werde mich heute oder morgen näher damit befassen, muss aber jetzt schon in die Arbeit. Aber Danke für den Link, den Namensmanager kannte ich noch garnicht, vermutlich ist das des Rätsels Lösung.
Ich werde aber heute oder morgen noch eine Bsp Datei von mir hochladen, wie ich es gern hätte. Dann ist es sicher auch für dich einfacher.

Anzeige
AW: Fehlendes FB
15.04.2016 07:51:17
Bernd
Hi,
Falls Du das meinst: füge im Blatt Bilder einfach zwischen Zeile 2 und 3 eine neue ein.
Das Dropdownfeld muss ja natürlich auch eine dementsprechende Formel besitzen, also Rechtsklick,Steuerelement formatieren den Reiter Steuerung aktivieren und als Formel Bilder!$A$1:$A$4
verwenden.
lg Bernd

Anzeige
AW: Fehlendes FB
15.04.2016 22:40:55
Stefan
Ok das mit dem einfügen zwischen Zeile 2 und 3 hat mal funktioniert Danke! Das mit dem Drop Down Feld ist auch keine schlechte Lösung aber noch lieber, hätte ich es gern wie jetzt beschrieben.
Ich lade mal die Bsp Datei hoch.
Die Bilder sind in Tabelle 1, und lassen sich durch anklicken der 2 Buttons ein und ausblenden, bzw bei Doppelklick komplett ausblenden.
Und so hätte ich das auch gern in Tabelle 2, weil es die gleichen Bilder sind bzw. bleiben. Gesamt hab ich 4 Tabellenblätter wo ich in allen die gleichen Bilder anzeigen lassen will.
https://www.herber.de/bbs/user/104994.xlsm
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Bilder mit Makro auf Arbeitsblättern einblenden


Schritt-für-Schritt-Anleitung

Um Bilder mit einem Makro auf verschiedenen Arbeitsblättern ein- und auszublenden, kannst du den folgenden VBA-Code verwenden. Dieser Code schaltet die Sichtbarkeit der Bilder um, ohne sie mehrfach in den Blättern einzufügen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul hinzu, indem du im Menü Einfügen auf Modul klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub ToggleBilder()
       Dim ws As Worksheet
       Set ws = ActiveSheet
    
       ' Hier die Namen der Bilder anpassen
       Dim bilder As Variant
       bilder = Array("Grafik 10", "Grafik 11", "Grafik 13", "Grafik 14")
    
       Dim bild As Variant
       For Each bild In bilder
           ws.Shapes(bild).Visible = Not ws.Shapes(bild).Visible
       Next bild
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Weise diesem Makro eine Schaltfläche zu, um das Ein- und Ausblenden der Bilder zu steuern.


Häufige Fehler und Lösungen

  • Fehler: Bilder nicht gefunden
    Wenn du eine Fehlermeldung erhältst, dass Bilder nicht gefunden werden, stelle sicher, dass die Namen der Bilder im Code mit den tatsächlichen Namen in deinem Arbeitsblatt übereinstimmen.

  • Fehler: Makro funktioniert nur auf einem Blatt
    Wenn das Makro nur auf einem Blatt funktioniert, musst du sicherstellen, dass du das Makro für jedes Blatt ausführst oder es so anpassen, dass es für alle gewünschten Blätter gilt.


Alternative Methoden

Eine mögliche Alternative zum Ein- und Ausblenden von Bildern ist das Verschieben der Bilder zwischen Blättern. Hierzu kannst du einen Code verwenden, der die Bilder bei der Aktivierung eines anderen Arbeitsblatts ausschneidet und einfügt:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Dim wsAktiv As Worksheet
    Dim wsAlt As Worksheet
    Set wsAktiv = Sh
    Set wsAlt = ThisWorkbook.Worksheets("Kalendertage") ' Beispielblatt

    ' Bilder ausschneiden und in aktives Blatt einfügen
    wsAlt.Shapes("Grafik 10").Cut
    wsAktiv.Paste
End Sub

Praktische Beispiele

Wenn du die Lösung „vier bilder ein wort“ in Excel umsetzen möchtest, kannst du die oben genannten Makros verwenden, um die Sichtbarkeit der Bilder je nach Bedarf zu steuern. Hier sind ein paar Anwendungsbeispiele:

  • Steuerung per Schaltfläche: Erstelle einen Button, der das Makro ToggleBilder ausführt, um alle vier Bilder gleichzeitig ein- oder auszublenden.

  • Verknüpfung mit Dropdown: Du kannst ein Dropdown-Menü erstellen, das verschiedene Bilder anzeigt, abhängig von der Auswahl des Benutzers.


Tipps für Profis

  • Verwende Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.

  • Experimentiere mit der Visible-Eigenschaft, um die Sichtbarkeit der Bilder dynamisch zu ändern – dies kann auch in Verbindung mit Bedingungen in deiner Excel-Datei geschehen.

  • Denke daran, dass die Größe deiner Datei durch das Einfügen vieler Bilder schnell ansteigt. Nutze daher die Möglichkeit, Bilder nur einmal zu speichern und sie per Makro zu verwalten.


FAQ: Häufige Fragen

1. Wie kann ich die Bilder in verschiedenen Arbeitsblättern anzeigen?
Du kannst den Makro-Code so anpassen, dass er die Bilder zwischen den Blättern verschiebt oder denselben Code in jedem Blatt ausführt.

2. Kann ich das Makro auch für andere Objekte verwenden?
Ja, du kannst den Code anpassen, um die Sichtbarkeit anderer Objekte wie Diagramme oder Formen zu steuern, indem du die Objektnamen im Code änderst.

3. Welche Excel-Version benötige ich?
Dieser Code sollte in Excel 2010 und neueren Versionen funktionieren, solange der VBA-Editor zugänglich ist.

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