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

Forumthread: Shapes in den Hintergrund

Shapes in den Hintergrund
11.04.2006 13:21:46
Marco
Hallo Leute,
möchte alle Shapes die sich in einer Tabelle befinden per Makro in den Hintergrund setzen. Deshalb habe ich mir folgendes Makro zurechtgestrickt, leider funzt es nicht. Wisst Ihr Rat?
Hier der Code:

Sub shape()
Dim shp As shape
For Each shp In Sheets("Tabelle1").Shapes
Selection.ShapeRange.ZOrder msoSendToBack
Next shp
End Sub

Danke für Eure Hilfe
Marco
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Shapes in den Hintergrund
11.04.2006 13:37:37
Andreas
Hi Marco,
wenn du schon die shapes durch dei schleife ziehst, dann benutz sie doch direkt
(die shapes werden nicht automatisch selectiert):

Sub shape()
Dim shp As shape
For Each shp In Sheets("Tabelle1").Shapes
shp.ZOrder msoSendToBack
Next shp
End Sub

Gruß
Andreas
Anzeige
AW: Shapes in den Hintergrund
11.04.2006 14:01:16
Marco
Danke Andreas, hätte ich auch selbst drauf kommen können.
;
Anzeige
Anzeige

Infobox / Tutorial

Shapes in den Hintergrund setzen mit VBA


Schritt-für-Schritt-Anleitung

Um alle Shapes in einer Excel-Tabelle in den Hintergrund zu setzen, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

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

  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Kopiere den folgenden Code in das Modul:

    Sub shape()
       Dim shp As Shape
       For Each shp In Sheets("Tabelle1").Shapes
           shp.ZOrder msoSendToBack
       Next shp
    End Sub
  4. Schließe den VBA-Editor und kehre zu Excel zurück.

  5. Drücke ALT + F8, wähle das Makro shape aus und klicke auf Ausführen.

Mit diesem Makro werden alle Shapes in der angegebenen Tabelle (hier "Tabelle1") in den Hintergrund gesetzt.


Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich"

    • Stelle sicher, dass du die Shapes in der richtigen Tabelle ansprichst. Überprüfe den Tabellennamen in deinem Code.
  • Fehler: Shapes werden nicht korrekt in den Hintergrund gesetzt

    • Achte darauf, dass die Z-Ordnung tatsächlich auf msoSendToBack gesetzt wird. Der Code sollte wie oben angegeben aussehen.

Alternative Methoden

Wenn du keine VBA-Makros verwenden möchtest, kannst du auch manuell vorgehen:

  1. Wähle das Shape aus, das du in den Hintergrund setzen möchtest.
  2. Klicke mit der rechten Maustaste auf das Shape und wähle In den Hintergrund aus dem Kontextmenü.

Diese Methode ist zwar nicht so effizient wie ein Makro, eignet sich jedoch für Einzelanwendungen.


Praktische Beispiele

Hier ist ein Beispiel, wie du das Makro anpassen kannst, um Shapes in einer PowerPoint-Präsentation zu manipulieren:

Sub PowerPointShapesToBack()
    Dim shp As PowerPoint.Shape
    For Each shp In ActivePresentation.Slides(1).Shapes
        shp.ZOrder msoSendToBack
    Next shp
End Sub

Dieser Code funktioniert ähnlich, verwendet jedoch das PowerPoint VBA-Objektmodell. Dies ist nützlich, wenn du häufig mit PowerPoint VBA Shapes arbeitest.


Tipps für Profis

  • Verwende die Application.ScreenUpdating = False und Application.ScreenUpdating = True Befehle vor und nach deiner Schleife, um den Bildschirm flackern zu vermeiden und die Ausführung zu beschleunigen.
Sub shape()
    Application.ScreenUpdating = False
    Dim shp As Shape
    For Each shp In Sheets("Tabelle1").Shapes
        shp.ZOrder msoSendToBack
    Next shp
    Application.ScreenUpdating = True
End Sub
  • Experimentiere mit anderen Z-Ordnung-Methoden wie msoBringForward oder msoSendBackward, um verschiedene Effekte zu erzielen.

FAQ: Häufige Fragen

1. Frage
Kann ich das Makro auf mehreren Tabellen gleichzeitig anwenden?
Antwort: Ja, du kannst eine Schleife für mehrere Tabellen hinzufügen oder das Makro für jede Tabelle separat ausführen.

2. Frage
Funktioniert das Makro in Excel 2013 und neueren Versionen?
Antwort: Ja, das Makro ist mit Excel 2013 und allen neueren Versionen kompatibel. Achte darauf, dass du die richtige Tabellenbezeichnung verwendest.

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