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

Position einer Grafik ermitteln

Forumthread: Position einer Grafik ermitteln

Position einer Grafik ermitteln
11.12.2012 12:43:55
X-Tilde
Hallo!
Ist es möglich, die absolute Position (oben links) einer Grafik zu ermitteln?
Aufgabe: Auf einem Excelblatt sollen nacheinander 100 kleine Grafiken gesetzt werden. Sie müssen manuell hin- und hergeschoben werden, bis sie an der richtigen Stelle sind. Dann muß die Position jeder Grafik ermittelt und in einer Tabelle abgelegt werden. Diese Prozedur muß einmal für die 100 Grafiken durchgeführt werden. - Die eigentliche Aufgabe besteht dann darin, nach dem Zufallsprinzip Koordinaten aus der Liste herauszusuchen und die Grafik an der richtigen Stelle anzuzeigen.
Das Problem besteht nun darin, daß ich nicht weiß, wie man die Position einer Grafik ermittelt. Ist es überhaupt möglich?

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Position einer Grafik ermitteln
11.12.2012 13:15:33
Henrik
Hallo X-Tilde,
hier mal ein Beispiel. Füge in Tabelle1 zwei Grafiken ein (Bilder).
Blende Sie doch per Zufall ein oder aus.

Sub wobinich()
Dim wksG As Worksheet, shpG As Shape, zae1 As Integer
Set wksG = ThisWorkbook.Worksheets("Tabelle1")
zae1 = 1
For Each shpG In wksG.Shapes
With wksG
.Cells(zae1, 10) = shpG.Name
.Cells(zae1, 11) = shpG.TopLeftCell.Row
.Cells(zae1, 12) = shpG.TopLeftCell.Column
End With
zae1 = zae1 + 1
If shpG.Name Like "Gra*1" Then shpG.Visible = msoTrue
Next
End Sub

Wie du schon geschrieben hast: Zauberwort topleftcell
Gruß Henrik

Anzeige
AW: Position einer Grafik ermitteln
11.12.2012 17:28:17
X-Tilde
Danke für die Antwort. Leider sind meine VBA-Kenntnisse bescheiden, so daß ich nicht sicher bin, ob die Aufgabe damit gelöst ist.
Es gibt also 100 Grafiken, genauer gesagt: Es ist immer dieselbe Grafik, die an 100 verschiedenen festen Punkten erscheinen soll. Das Problem bestand darin, diese festen Punkte zu ermitteln.
Ich habe mit meinen Mitteln inzwischen selber eine simple Lösung gefunden. Die Grafik wird nicht manuell an die gewünschte Stelle bewegt, sondern mit Hilfe eines Makros.
Selection.ShapeRange.Top = y
Selection.ShapeRange.Left = x
Y und X werden aus zwei Zellen geholt. Auf diese Weise kann ich mich an den Zielpunkt heranarbeiten. Mit Hilfe von Steuerleisten mit unterschiedlichen Inkrementen kann ich die Vorgaben schnell ändern, so daß jeder Vorgang nur wenige Sekunden dauert.
Gruß
X-Tilde

Anzeige
Henriks Makro ermittelt, ...
11.12.2012 19:02:54
Luc:-?
…wie schon sein Name sagt, X-Tilde,
Zeile u.Spalte der Zelle unter der linken oberen Ecke des Objekts und gibt diese Infos und seinen Namen ab Zeile 1 in Spalten J:L wieder. Außerdem macht es alle Objekte, deren Name mit Gra beginnt und mit 1 endet, sichtbar.
Gruß Luc :-?
;
Anzeige
Anzeige

Infobox / Tutorial

Grafikposition in Excel ermitteln


Schritt-für-Schritt-Anleitung

Um die Position einer Grafik in Excel zu ermitteln, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und lade deine Arbeitsmappe.
  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  3. Füge ein neues Modul hinzu:
    • Klicke mit der rechten Maustaste auf „VBAProject (dein Arbeitsmappenname)“.
    • Wähle „Einfügen“ > „Modul“.
  4. Kopiere den folgenden VBA-Code in das Modul:
Sub PositionErmitteln()
    Dim wksG As Worksheet, shpG As Shape, zae1 As Integer
    Set wksG = ThisWorkbook.Worksheets("Tabelle1")
    zae1 = 1
    For Each shpG In wksG.Shapes
        With wksG
            .Cells(zae1, 10) = shpG.Name
            .Cells(zae1, 11) = shpG.TopLeftCell.Row
            .Cells(zae1, 12) = shpG.TopLeftCell.Column
        End With
        zae1 = zae1 + 1
    Next
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, indem du ALT + F8 drückst, das Makro „PositionErmitteln“ auswählst und auf „Ausführen“ klickst.

Dieses Makro ermittelt die Position der Grafiken in den Zellen und gibt die Informationen in den Spalten J bis L aus.


Häufige Fehler und Lösungen

  • Problem: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du die richtige Arbeitsmappe und das richtige Arbeitsblatt (z.B. „Tabelle1“) ausgewählt hast. Prüfe auch, ob die Grafiken vorhanden sind.
  • Problem: Die Positionen werden nicht korrekt angezeigt.

    • Lösung: Achte darauf, dass die Grafiken nicht in Gruppen zusammengefasst sind. Das Makro ermittelt nur die Position der einzelnen Grafiken.

Alternative Methoden

Falls du keine VBA-Programmierung nutzen möchtest, kannst du auch die folgende Methode verwenden:

  1. Klicke mit der rechten Maustaste auf die Grafik.
  2. Wähle „Größe und Eigenschaften“.
  3. Unter „Eigenschaften“ siehst du die Position (oben links) der Grafik in den Feldern „Horizontal“ und „Vertikal“.

Diese Methode ist weniger automatisiert, aber einfach und schnell.


Praktische Beispiele

Angenommen, du hast eine Grafik, die du an verschiedenen Positionen auf deinem Excel-Blatt platzieren möchtest. Du kannst mithilfe des VBA-Codes die Position ermitteln und in einer Tabelle festhalten. Das macht es einfacher, die Grafiken später an den richtigen Stellen anzuzeigen.

Beispiel für die Nutzung des Codes:

  1. Du fügst 100 Grafiken in „Tabelle1“ ein.
  2. Das Makro ermittelt die Positionen und trägt sie in den Spalten J bis L ein.

Tipps für Profis

  • Nutze Selection.ShapeRange.Top und Selection.ShapeRange.Left, um Grafiken präzise zu positionieren.
  • Erstelle Steuerleisten mit Inkrementen, um die Positionen schnell zu ändern, ohne die Grafiken manuell verschieben zu müssen.
  • Experimentiere mit zufälligen Koordinaten, um die Grafiken dynamisch anzuzeigen.

FAQ: Häufige Fragen

1. Wie kann ich die Position einer Grafik in Excel 2016 ermitteln?
Die Schritte sind die gleichen wie in früheren Versionen. Stelle sicher, dass du das VBA-Makro in der richtigen Umgebung ausführst.

2. Was mache ich, wenn ich mehrere Grafiken gleichzeitig positionieren möchte?
Du kannst das VBA-Makro anpassen, um alle Grafiken in einem bestimmten Bereich zu bearbeiten oder die Positionen in verschiedenen Tabellen zu speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige