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

Bilder positionieren

Forumthread: Bilder positionieren

Bilder positionieren
25.05.2016 14:09:46
Gunter
Hallo Zusammen
In einem Excel Sheet habe ich Bilder in "Miniaturform". Durch anklicken werden diese gross und wieder klein. Dazu habe ich die folgenden Makros gefunden, welche auch prima funktionieren.
Sub Zuweisen()
Dim picBild As Picture
For Each picBild In ActiveSheet.Pictures
picBild.OnAction = "gross"
Next picBild
End Sub
Sub gross()
With ActiveSheet.Shapes(Application.Caller)
.LockAspectRatio = msoTrue
.Height = .Height * 2
.Width = .Width * 2
.Rotation = 0#
.OnAction = "Tabelle1.klein"
End With
End Sub
Sub klein()
With ActiveSheet.Shapes(Application.Caller)
.LockAspectRatio = msoTrue
.Height = .Height / 2
.Width = .Width / 2
.Rotation = 0#
.OnAction = "Tabelle1.gross"
End With
End Sub

Nun möchte ich aber, dass die Bilder beim "Grossmachen" in der Bildmitte erscheinen und beim "Kleinmachen" wieder an die ursprüngliche Postion zurück kehren. Für zweckdienliche Hinweise herzlichen Dank.
Gruss
Gunter

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Bilder positionieren
25.05.2016 14:53:35
Rudi
Hallo,
einfach die Position merken.
Option Explicit
Dim sngLeft As Single, sngTop As Single
Sub Zuweisen()
Dim picBild As Picture
For Each picBild In ActiveSheet.Pictures
picBild.OnAction = "gross"
Next picBild
End Sub
Sub gross()
With ActiveSheet.Shapes(Application.Caller)
.LockAspectRatio = msoTrue
sngLeft = .Left
sngTop = .Top
.Height = .Height * 2
.Width = .Width * 2
.Rotation = 0#
.Left = (ActiveWindow.Width - .Width) / 2
.Top = (ActiveWindow.Height - .Height) / 2
.OnAction = "klein"
End With
End Sub
Sub klein()
With ActiveSheet.Shapes(Application.Caller)
.LockAspectRatio = msoTrue
.Height = .Height / 2
.Width = .Width / 2
.Rotation = 0#
.Left = sngLeft
.Top = sngTop
.OnAction = "Tabelle1.gross"
End With
End Sub
Gruß
Rudi

Anzeige
AW: Bilder positionieren
26.05.2016 11:30:30
Gunter
Hallo Rudi
Das funktioniert schon mal sehr schön.
Ich wäre dir sehr dankbar könntest du bitte kurz erklären was durch
"(ActiveWindow.Width - .Width) / 2" erreicht wird. Hab das alles nur geklaut und kann leider auch nicht im Einzelschritt durchgehen um mir die Werte anzusehen da ich immer die Fehlermeldung "Laufzeitfehler 13 -- Typen unverträglich" nach
"With ActiveSheet.Shapes(Application.Caller)" erhalte.
Prinzipiell funktioniert das Makro aber.
Danke und Gruss
Gunter
Anzeige
;

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