Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Shapes aus-/einblenden und ohne select

Forumthread: Shapes aus-/einblenden und ohne select

Shapes aus-/einblenden und ohne select
02.05.2017 16:19:49
Dieter(Drummer)
Guten Tag Spezialisten,
mit dem "

Sub Aus" kann ich die Shapes ausblenden, aber mit "

Sub An" kann ich sie nicht wieder einblenden.
Mit der Bitte um Hilfe und die Makro ohne "select". Evtl. können die Makros aocu kürzer sein,  _
da ich sie per Rekorder ausfgezeichnet habe:
Gruß, Dieter(Drummer)
Codes im Modul:
  • 
    Sub Aus()
    ActiveSheet.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", _
    "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).Select
    Selection.ShapeRange.Visible = False
    Range("G8").Select
    End Sub
    

    Sub An()
    ActiveSheet.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", _
    "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).Select
    Selection.ShapeRange.Visible = True
    Range("G8").Select
    End Sub
    


  • Anzeige

    9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 16:31:33
    Nepumuk
    Hallo,
    so:
    Option Explicit

    Public Sub Aus()
        Tabelle1.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", _
            "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).Visible = False
    End Sub

    Public Sub An()
        Tabelle1.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", _
            "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).Visible = True
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 16:37:41
    Dieter(Drummer)
    Danke Nepumuk,
    aber das Einblenden geht nicht, es kommt der Fehlerhinweis:
    "Für die angeforderten Formem ist das Auswählen gesperrt."
    Hast du da noch eine Möglichkeit?
    Gruß, Dieter(Drummer)
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 16:47:30
    Nepumuk
    Hallo,
    ich hab das natürlich getestet und es funktioniert einwandfrei.
    Hier meine Testmappe: https://www.herber.de/bbs/user/113244.xlsm
    Gruß
    Nepumuk
    Anzeige
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 16:54:44
    Dieter(Drummer)
    Danke Nepumuk,
    es funktioniert tatsächlich! Ich hatte noch andere Makros drin, die wohl das einblenden nicht möglich machten. Jetzt klappt es.
    Danke und einen schönen Abend.
    Gruß, Dieter(Drummer)
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 17:14:39
    Luschi
    Hallo Dieter(Drummer),
    ich bin schon erstaunt, daß erst 1 praktisches Beispiel des Lösungslieferers zeigt,
    daß der gepostete Code funktioniert.
    Wartum bist Du nicht in der Lage, mit einer Beispieldatei das Problem hinreichend
    darzustellen, um zu verhindern, daß Lösungsvorschläge einfach in den Skat gelegt werden,
    ohne etwas zur Lösungs beizutragen (danke, geht nicht) ist einfach unprofessionell.
    Gruß von Luschi
    aus klein-Paris
    Anzeige
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 17:25:12
    Dieter(Drummer)
    Hallo Luschi,
    grundsätzlich gebe ich eigentlich immer eine Bespieldatei zu meinen Fragen. Diesmal habe ich es leider nicht gemacht und es war falsch.
    Dennoch finde ich, dass dein Hinweis einfach nur eine Kritik ist. Wenn du meine bisherigen Anfragen siehts, dann wirst du festellen, dass deine Kritik eigentlich nicht notwendig war. Ich sehe von sehr vielen anderen Fragern/Fragerinnen, dass keine Beispieldateien da sind und ich kritisiere dies auch nicht.
    Ich werde nichts weiter dazu schreiben.
    Gruß, Dierer(Drummer)
    Anzeige
    AW: Erklärung wegen meines Fehlers ...
    02.05.2017 17:07:26
    Diete(Drummer)
    Hallo Nepumuk,
    ich hatte in 2 der Ellipsen verknüpfungen zu Makros. Als ich diese entfernt hatte, klappte es miz deinem Makros.
    Noichmal Danke und Gruß,
    Dieter(Drummer)
    Hier meine jetzige Testdatei: https://www.herber.de/bbs/user/113247.xlsm
    Anzeige
    AW: Shapes aus-/einblenden und ohne select
    02.05.2017 16:32:36
    Matthias
    Hallo
    Evtl. liegts ja am Select
    Was nicht sichtbar ist, kann man auch nicht "anfassen"
    Probier also:
    ActiveSheet.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).ShapeRange.Visible = True
    
    nicht getestet!
    Gruß Matthias
    Anzeige
    AW: Danke Matthiasm geht auch nicht ...
    02.05.2017 16:42:33
    Dieter(Drummer)
    ... dennoch Danke für Antwort.
    Gruß, Dieter(DRummer)
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    Shapes in Excel ausblenden und einblenden ohne Select


    Schritt-für-Schritt-Anleitung

    Um Shapes in Excel über VBA auszublenden und wieder einzublenden, ohne die Select-Methode zu verwenden, kannst Du die folgenden Makros nutzen:

    1. Öffne den VBA-Editor (Alt + F11).
    2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
    3. Kopiere den folgenden Code in das Modul:
    Public Sub Aus()
        ActiveSheet.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", _
        "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).Visible = False
    End Sub
    
    Public Sub An()
        ActiveSheet.Shapes.Range(Array("Ellipse 1", "Ellipse 2", "Ellipse 3", _
        "Ellipse 4", "Ellipse 5", "Ellipse 6", "Ellipse 7", "Ellipse 8")).Visible = True
    End Sub
    1. Schließe den VBA-Editor und teste die Makros, indem Du sie über die Entwicklertools ausführst.

    Häufige Fehler und Lösungen

    • Fehlerhinweis: "Für die angeforderten Formen ist das Auswählen gesperrt."

      • Dieser Fehler tritt auf, wenn Du versuchst, Shapes einzublenden, die durch andere Makros oder Einstellungen blockiert sind. Überprüfe, ob andere Makros aktiv sind, die möglicherweise diese Shapes beeinflussen.
    • Shapes werden nicht angezeigt, obwohl die Sichtbarkeit auf True gesetzt ist.

      • Stelle sicher, dass Du die richtige Shapes.Range-Syntax verwendest. Vermeide die Verwendung von Select, um die Handhabung zu erleichtern.

    Alternative Methoden

    Eine alternative Methode, um Shapes anzuzeigen oder auszublenden, besteht darin, die Shapes.Range-Methode ohne die Verwendung von ActiveSheet zu nutzen. Hier ist ein Beispiel:

    Sub Aus()
        ThisWorkbook.Sheets("Tabelle1").Shapes.Range(Array("Ellipse 1", "Ellipse 2")).Visible = False
    End Sub
    
    Sub An()
        ThisWorkbook.Sheets("Tabelle1").Shapes.Range(Array("Ellipse 1", "Ellipse 2")).Visible = True
    End Sub

    Durch die Verwendung von ThisWorkbook.Sheets("Tabelle1") kannst Du gezielt auf ein bestimmtes Arbeitsblatt zugreifen.


    Praktische Beispiele

    Hier sind einige praktische Beispiele, wie Du Shapes in Excel anzeigen und ausblenden kannst:

    • Um alle Shapes in einem Arbeitsblatt auszublenden:

      Sub AlleShapesAusblenden()
      Dim shp As Shape
      For Each shp In ActiveSheet.Shapes
          shp.Visible = False
      Next shp
      End Sub
    • Um alle Shapes in einem Arbeitsblatt anzuzeigen:

      Sub AlleShapesEinblenden()
      Dim shp As Shape
      For Each shp In ActiveSheet.Shapes
          shp.Visible = True
      Next shp
      End Sub

    Diese Methoden sind nützlich, wenn Du eine große Anzahl von Shapes in Deinem Arbeitsblatt hast.


    Tipps für Profis

    • Verwende Variablen: Wenn Du mit vielen Shapes arbeitest, kannst Du die Shapes in einer Variablen speichern, um den Code effizienter zu gestalten.
    Dim myShapes As ShapeRange
    Set myShapes = ActiveSheet.Shapes.Range(Array("Ellipse 1", "Ellipse 2"))
    myShapes.Visible = False ' Ausblenden
    • Fehlerbehandlung: Implementiere Fehlerbehandlungen in Deinen Makros, um unerwartete Probleme zu vermeiden.
    On Error Resume Next
    myShapes.Visible = True ' Einblenden
    On Error GoTo 0

    FAQ: Häufige Fragen

    1. Warum kann ich Shapes nicht einblenden? Es kann sein, dass andere Makros oder Formatierungen die Sichtbarkeit der Shapes beeinträchtigen. Stelle sicher, dass keine anderen Makros aktiv sind, die die Shapes beeinflussen.

    2. Welche Excel-Version benötige ich? Die beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, darunter Excel 2010 und neuer.

    3. Wie kann ich spezifische Shapes auswählen? Verwende die Shapes.Range(Array("ShapeName"))-Methode, um spezifische Shapes anhand ihrer Namen zu steuern. Achte darauf, die genauen Namen der Shapes zu verwenden.

    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