Bilder in Excel-Bereichen selektieren
Schritt-für-Schritt-Anleitung
Um in Excel alle Bilder oder Objekte in einem bestimmten Bereich zu markieren, kannst Du die folgenden VBA-Makros nutzen. Diese sind speziell für die Auswahl von Bildern und Objekten in einem definierten Bereich konzipiert.
- Excel öffnen und die gewünschte Arbeitsmappe laden.
- VBA-Editor öffnen mit
ALT + F11.
- Ein neues Modul einfügen: Rechtsklick auf "VBAProject (dein Arbeitsblatt)" > Einfügen > Modul.
- Den folgenden Code in das Modul einfügen.
Für die Auswahl aller Bilder in einem bestimmten Bereich (z.B. A6:D3000):
Sub Alle_Bilder_markieren()
Dim shShape As Shape
Dim arrShapes() As String
Dim loShapes As Long
ReDim arrShapes(0)
For Each shShape In ActiveSheet.Shapes
If shShape.Top > Rows(6).Top And shShape.BottomRightCell.Left < Columns(5).Left Then
ReDim Preserve arrShapes(0 To loShapes)
arrShapes(loShapes) = shShape.Name
loShapes = loShapes + 1
End If
Next shShape
If arrShapes(UBound(arrShapes())) <> "" Then
ActiveSheet.Shapes.Range(arrShapes()).Select
End If
End Sub
Für die Auswahl aller Objekte (z.B. OLE-Objekte) in einem bestimmten Bereich:
Sub ObjekteMarkieren()
Dim oobObjekt As OLEObject
Dim arrObjekte() As String
Dim loObjekte As Long
ReDim arrObjekte(0)
For Each oobObjekt In ActiveSheet.OLEObjects
If oobObjekt.Top > Rows(6).Top Then
ReDim Preserve arrObjekte(0 To loObjekte)
arrObjekte(loObjekte) = oobObjekt.Name
loObjekte = loObjekte + 1
End If
Next oobObjekt
If arrObjekte(UBound(arrObjekte())) <> "" Then
ActiveSheet.OLEObjects(arrObjekte()).Select
End If
End Sub
Häufige Fehler und Lösungen
-
Laufzeitfehler: "Anwendungs- oder objektdefinierter Fehler": Dies tritt häufig auf, wenn der Bereich nicht korrekt definiert ist. Stelle sicher, dass die Shapes tatsächlich im angegebenen Bereich liegen.
-
Objekte und Bilder können nicht gleichzeitig markiert werden: In Excel 2007 und früheren Versionen müssen Bilder und OLE-Objekte separat behandelt werden. Verwende die oben angegebenen Makros.
-
Nicht alle Bilder werden markiert: Achte darauf, dass die Bilder im definierten Bereich tatsächlich sichtbar sind. Überprüfe auch, ob die rechte untere Ecke des Bildes im Bereich liegt.
Alternative Methoden
Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch die folgenden Methoden ausprobieren:
-
Manuelles Markieren: Halte die STRG-Taste gedrückt und klicke auf jedes Bild oder Objekt, das Du auswählen möchtest. Dies ist jedoch unpraktisch, wenn viele Bilder vorhanden sind.
-
Excel-Funktionen: Es gibt keine integrierte Funktion in Excel, um alle Bilder oder Objekte in einem Bereich auszuwählen. Die Verwendung von Makros ist die effektivste Methode.
Praktische Beispiele
-
Beispiel 1: Markiere alle Bilder in einem Bereich von A6 bis D3000 mit dem oben genannten Makro.
-
Beispiel 2: Verwende das Makro für OLE-Objekte, um alle eingebetteten Objekte ab Zeile 6 zu markieren, z.B. Diagramme oder ActiveX-Steuerelemente.
-
Beispiel 3: Um nur Bilder zu markieren, die in einer bestimmten Grafiken-Gruppe liegen, passe die Bedingungen im Makro entsprechend an.
Tipps für Profis
-
Tastenkombinationen: Nutze CTRL + A, um alle Objekte in einem Arbeitsblatt auszuwählen. Dies funktioniert jedoch nur, wenn Du die Objekte manuell markierst.
-
Gruppierung: Wenn Du mehrere Bilder oder Formen hast, die Du häufig zusammen verwenden möchtest, kannst Du diese in einer Bildergruppe zusammenfassen. Dies erleichtert die Auswahl.
-
Makros speichern: Speichere Deine Makros im persönlichen Makroarbeitsbuch, um sie in jeder Excel-Datei verwenden zu können.
FAQ: Häufige Fragen
1. Wie kann ich alle Bilder in Excel markieren?
Nutze das oben angegebene Makro Alle_Bilder_markieren, um alle Bilder in einem bestimmten Bereich auszuwählen.
2. Gibt es eine Tastenkombination, um alle Objekte auszuwählen?
Eine direkte Tastenkombination gibt es nicht. Du kannst jedoch CTRL + A verwenden, um alle Objekte in einem Arbeitsblatt auszuwählen, wenn Du sie zuvor markiert hast.
3. Kann ich Bilder und Objekte gleichzeitig markieren?
In Excel 2007 und früheren Versionen ist dies nicht möglich. Du musst sie separat markieren.