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

Forumthread: Grafik in Zellen zentrieren mit VBA

Grafik in Zellen zentrieren mit VBA
17.11.2019 11:06:08
Oli
Hallo zusammen,
wie kann ich in einer Spalte C - mehrere Bilder mit VBA zentrieren?
Hab mir schon einmal was rausgesucht - aber dieser Code zentriert nur die Spalte F und nicht C.
Sub Zentrieren()
Dim shp As Shape
Dim x As Double
x = Cells(1, 6).Left + Cells(1, 6).Width / 2
For Each shp In ActiveSheet.Shapes
shp.Left = x - shp.Width / 2
Next
End Sub
Danke für eure Hilfe.
OliWer
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Grafik in Zellen zentrieren mit VBA
17.11.2019 11:25:44
MB12
Hallo Oli Wer oder Was,
Spalte F = 6
Spalte C = 3
Gruß, Margarete
AW: Grafik in Zellen zentrieren mit VBA
17.11.2019 12:36:40
Oli
Danke Margarete, funktioniert einwandfrei. Kleines Problem nur, ich benutze eine Schaltfläche - die diese Funktion/Makro ausführt - und genau diese Funktion zentriert dieses Schaltfläche jetzt auch in Spalte C. Kann ich irgendwie das Makro für einen bestimmten Bereich festlegen, sodass die Schaltfläche aussen vor bleibt?
Anzeige
AW: Grafik in Zellen zentrieren mit VBA
17.11.2019 12:43:33
Werner
Hallo,
und was für eine "Schaltfläche"?
Aus den Formularsteuerelementen oder ActiveX?
Gruß Werner
AW: Grafik in Zellen zentrieren mit VBA
17.11.2019 12:48:29
Oli
Hallo Werner,
es handelt sich um einen Schlatfläche/Button aus dem Formularsteuerelementen.
Grüße
Oli Wer
AW: Grafik in Zellen zentrieren mit VBA
17.11.2019 12:49:39
Werner
Hallo,
dann so:
Sub Zentrieren()
Dim shp As Shape, x As Double
x = Cells(1, 3).Left + Cells(1, 3).Width / 2
For Each shp In ActiveSheet.Shapes
If shp.Name Like "Button*" Then
Else
shp.Left = x - shp.Width / 2
End If
Next
End Sub
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Grafik in Zellen zentrieren mit VBA


Schritt-für-Schritt-Anleitung

Um Bilder in der Excel-Spalte C mit VBA zu zentrieren, kannst Du den folgenden Code verwenden. Dieser Code sorgt dafür, dass alle Shapes (Bilder, Formen) in der angegebenen Spalte zentriert werden, während Schaltflächen aus dem Formularsteuerelement nicht betroffen sind.

Sub Zentrieren()
    Dim shp As Shape, x As Double
    x = Cells(1, 3).Left + Cells(1, 3).Width / 2
    For Each shp In ActiveSheet.Shapes
        If shp.Name Like "Button*" Then
            ' Schaltfläche überspringen
        Else
            shp.Left = x - shp.Width / 2
        End If
    Next
End Sub

Stelle sicher, dass Du diesen Code in das VBA-Editor-Fenster einfügst und das Makro ausführst, um die Bilder in der Zelle zu zentrieren.


Häufige Fehler und Lösungen

  1. Fehler: Alle Shapes werden zentriert, einschließlich der Schaltfläche.

    • Lösung: Stelle sicher, dass die Bedingung If shp.Name Like "Button*" korrekt implementiert ist, um die Schaltfläche nicht zu zentrieren.
  2. Fehler: Bilder werden nicht zentriert.

    • Lösung: Überprüfe, ob die Bilder tatsächlich als Shapes in Excel eingefügt wurden und sich in der richtigen Spalte befinden.

Alternative Methoden

Neben der Verwendung von VBA kannst Du auch die Excel-Funktionalitäten nutzen, um Bilder manuell zu zentrieren:

  1. Manuelles Zentrieren:

    • Klicke mit der rechten Maustaste auf das Bild und wähle „Größe und Position“.
    • Setze die Position des Bildes so, dass es in der Zelle zentriert ist.
  2. Verwendung von Excel-Formularen:

    • Du kannst auch Excel-Formularsteuerelemente verwenden, um den Bildinhalt in der Zelle zu zentrieren.

Praktische Beispiele

  • Angenommen, Du hast mehrere Bilder in Spalte C und möchtest diese zentrieren. Nutze den oben genannten VBA-Code.
  • Beispiel für die Verwendung in einem Excel-Dokument: Wenn Du ein Logo (z.B. ein vba logo) in Zelle C1 zentrieren möchtest, wird es automatisch in die Mitte der Zelle verschoben.

Tipps für Profis

  • Nutze die ActiveSheet-Objekteffizienz, um die Leistung Deiner Makros zu verbessern.
  • Wenn Du viele Bilder hast, könnte es sinnvoll sein, die Bilder zuerst in einer anderen Spalte zu gruppieren und dann das Makro auszuführen.
  • Experimentiere mit dem Application.ScreenUpdating = False Befehl, um das Flackern des Bildschirms zu reduzieren, während das Makro läuft.

FAQ: Häufige Fragen

1. Wie kann ich ein Excel-Diagramm an eine Zelle ausrichten? Um ein Diagramm an einer Zelle auszurichten, kannst Du ähnliche VBA-Techniken verwenden, um die Position des Diagramms relativ zu der gewünschten Zelle zu setzen.

2. Was mache ich, wenn ich mehrere Bilder gleichzeitig zentrieren möchte? Verwende den bereitgestellten VBA-Code. Er zentriert alle Shapes in der angegebenen Spalte, sodass Du mehrere Bilder auf einmal anpassen kannst.

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