gibt es eigentlich im Excel 2007 die Möglichkeit (wie z. B. bei Word oder Powerpoint auch) Grafiken genau mit absoluten Werten zu positionieren?
Viele Grüße
Ralf
MsgBox ActiveSheet.Pictures(1).Top 'Anzeigen
ActiveSheet.Pictures(1).Top = 100 '100 Punkte
Mit folgenden Anweisungen entsprechend den Abstand vom linken Rand :
MsgBox ActiveSheet.Pictures(1).Left 'Anzeigen
ActiveSheet.Pictures(1).Left = 100 '100 Punkte
Um nun den Abstand in cm (bzw. zunächst in Inch, also ZOLL) zu ermitteln, bietet Excel VBA 2 Umrechnungsfunktionen :Sub BildPositionen()
'02.02.2011, NoNet - www.excelei.de
'Abstand (in Punkten gemessen) vom oberen Rand anzeigen :
MsgBox ActiveSheet.Pictures(1).Top
'Abstand (in Punkten gemessen) vom oberen Rand setzen :
ActiveSheet.Pictures(1).Top = 50 '50 Punkte Abstand vom oberen Rand
'Abstand (in Punkten gemessen) vom linken Rand anzeigen :
MsgBox ActiveSheet.Pictures(1).Left
'Abstand (in Punkten gemessen) vom linken Rand setzen :
ActiveSheet.Pictures(1).Left = 100 '100 Punkte Abstand vom linken Rand
'################ Abstände in Inches (1 ZOLL = 2,54 cm) #############################
'Abstand (in ZOLL gemessen) vom oberen Rand anzeigen :
MsgBox ActiveSheet.Pictures(1).Top / Application.InchesToPoints(1)
'Abstand (in ZOLL gemessen) vom oberen Rand setzen :
ActiveSheet.Pictures(1).Top = Application.InchesToPoints(2) '2 Zoll Abstand vom oberen Rand
'################ Abstände in cm #############################
'Abstand (in cm gemessen) vom oberen Rand anzeigen :
MsgBox ActiveSheet.Pictures(1).Top / Application.CentimetersToPoints(1)
'Abstand (in ZOLL gemessen) vom oberen Rand setzen :
ActiveSheet.Pictures(1).Top = Application.CentimetersToPoints(3) '3 cm Abstand vom oberen _
Rand
End Sub
Ob die Bildposition im Papier-Ausdruck ebenfalls stimmt habe ich nicht getestet, das hängt sicherlich auch vom verwendeten Blattrand, dem Druckermodell- und dem Druckertreiber ab !!Um Grafiken in Excel 2007 präzise zu positionieren, kannst du VBA (Visual Basic for Applications) nutzen. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne Excel und drücke ALT + F11
. Damit öffnest du den VBA-Editor.
Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen
und wähle Modul
.
Kopiere den folgenden Code in das Modul:
Sub BildPositionen()
' Abstand (in Punkten gemessen) vom oberen Rand anzeigen:
MsgBox ActiveSheet.Pictures(1).Top
' Abstand (in Punkten gemessen) vom oberen Rand setzen:
ActiveSheet.Pictures(1).Top = 50 '50 Punkte Abstand vom oberen Rand
' Abstand (in Punkten gemessen) vom linken Rand anzeigen:
MsgBox ActiveSheet.Pictures(1).Left
' Abstand (in Punkten gemessen) vom linken Rand setzen:
ActiveSheet.Pictures(1).Left = 100 '100 Punkte Abstand vom linken Rand
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Führe das Makro aus: Drücke ALT + F8
, wähle BildPositionen
und klicke auf Ausführen
.
Jetzt kannst du die Position deiner Bilder in Punkten einstellen. Um die Position in Zentimetern oder Zoll anzuzeigen, kannst du die Umrechnungsfunktionen nutzen.
Fehler: "Keine Bilder gefunden"
Fehler: Die Position ändert sich nicht
Fehler: VBA wird nicht ausgeführt
Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros
und aktiviere die Makros.Wenn du die VBA-Methode nicht verwenden möchtest, kannst du auch die folgenden Alternativen ausprobieren:
Grafik manuell positionieren:
ALT
-Taste gedrückt, um das Bild am Raster auszurichten.Verwenden der Größen- und Positionierungsoptionen:
Größe und Position
und gib die gewünschten Werte für die Position in den Feldern Horizontal
und Vertikal
ein.Hier sind einige Beispiele, wie du die Bildposition in verschiedenen Einheiten einstellen kannst:
Bild in 3 cm vom oberen Rand positionieren:
ActiveSheet.Pictures(1).Top = Application.CentimetersToPoints(3)
Bild in 2 Zoll vom linken Rand positionieren:
ActiveSheet.Pictures(1).Left = Application.InchesToPoints(2)
Diese Beispiele zeigen dir, wie du mit VBA Bilder effizient positionieren kannst, ähnlich wie es in Word oder PowerPoint der Fall ist.
Verwende Variablen: Um den Code übersichtlicher zu gestalten, kannst du Variablen für die Abstände definieren.
Dim topMargin As Single
Dim leftMargin As Single
topMargin = Application.CentimetersToPoints(3)
leftMargin = Application.InchesToPoints(2)
ActiveSheet.Pictures(1).Top = topMargin
ActiveSheet.Pictures(1).Left = leftMargin
Automatisierung: Du kannst Makros erstellen, die automatisch alle Bilder auf einem Blatt anpassen, indem du eine Schleife verwendest.
1. Wie kann ich die Bildposition in Excel speichern?
Die Position wird automatisch gespeichert, wenn du die Excel-Datei speicherst. Es ist jedoch ratsam, die Datei als .xlsm
(Makro-fähig) zu speichern, um die VBA-Funktionalität zu erhalten.
2. Kann ich die Position auch in Word zentimeter anzeigen lassen?
Ja, in Word kannst du die Position von Bildern ähnlich einstellen. Nutze die Funktion Position
im Kontextmenü oder die Layout-Optionen der Grafik.
3. Was muss ich tun, wenn ich kein Bild einfügen kann?
Überprüfe die Berechtigungen deiner Excel-Datei. Wenn sie schreibgeschützt ist, kannst du keine Änderungen vornehmen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen