Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Grafik Format Makro

Grafik Format Makro
11.04.2006 13:45:01
AndreasB
Hallo zusammen !!
Ich habe mir mit Eurer Hilfe zwei Makros zusammengestellt:
Ich markiere eine Grafik und starte das Makro "FormatEinlesen".
Die aktuellen Grafikeinstellungen werden eingelesen.
Dann markiere ich eine andere Grafik und starte das Makro "FormatZuweisen".
Die Grafikeinstellungen der ersten Grafik werden dieser Grafik zugewiesen.
Die Makros funktionieren wunderbar und sie tun ohne weiteres ihren Dienst.
Meine Frage wäre: Ist eine Vereinfachung der ganzen Sache möglich? Wäre
es konkret möglich alles in ein Makro zu verpacken?
Ist Folgendes möglich:
1. erste Grafik markieren
2. Makro starten (die Einstellungen werden eingelesen)
3. zweite Grafik markieren (mit dem Markieren der zweiten Grafik werden auch
schon die Einstellungen zugewiesen)
Vielleicht kann mir jemand einen Tipp geben. Dafür wäre ich sehr dankbar.
Derweil schöne Grüße
Andreas
Option Explicit
Dim Links, Oben, Rechts, Unten, Höhe, Breite

Sub FormatEinlesen()
Dim sh As Shape
Select Case TypeName(Selection)
Case "Picture":
Set sh = ActiveSheet.Shapes(Selection.Name)
With sh
Links = .PictureFormat.CropLeft
Oben = .PictureFormat.CropTop
Rechts = .PictureFormat.CropRight
Unten = .PictureFormat.CropBottom
Höhe = .Height
Breite = .Width
End With
Case Else
MsgBox "Keine Grafik!", , TypeName(Selection)
End Select
End Sub


Sub FormatZuweisen()
Dim sh As Shape
Select Case TypeName(Selection)
Case "Picture":
Set sh = ActiveSheet.Shapes(Selection.Name)
With sh
.LockAspectRatio = msoFalse
.PictureFormat.CropLeft = Links
.PictureFormat.CropTop = Oben
.PictureFormat.CropRight = Rechts
.PictureFormat.CropBottom = Unten
.Height = Höhe
.Width = Breite
.LockAspectRatio = msoTrue
End With
Case Else
MsgBox "Keine Grafik!", , TypeName(Selection)
End Select
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Grafik Format Makro
11.04.2006 17:08:31
Dan
Hallo Andreas,
zwei Tipps habe ich:
- den Makros kann man Short-cut zuweisen, also z.B dem Makro 'FormatEinlesen' koennte man einen Short-cut 'Ctrl+e' zuweissen, und dem 'FormatZuweisen' 'Ctrl+z'.Es reicht dann nur noch die tasten zu drucken.
- man kann den Code vom 'FormatZuweisen' noch so aendern, dass es moeglich ist auch fuer mehreren objecte gleichzeitig den Format zuweissen.
Hier der Code dafuer. Gruss Dan
Option Explicit
Public Links, Oben, Rechts, Unten, Höhe, Breite
Sub FormatEinlesen()
Dim sh As Shape
Select Case TypeName(Selection)
Case "Picture":
Set sh = ActiveSheet.Shapes(Selection.Name)
With sh
Links = .PictureFormat.CropLeft
Oben = .PictureFormat.CropTop
Rechts = .PictureFormat.CropRight
Unten = .PictureFormat.CropBottom
Höhe = .Height
Breite = .Width
End With
Case Else
MsgBox "Keine Grafik!", , TypeName(Selection)
End Select
End Sub
Sub FormatZuweisenStart()
Dim obj As Object
If (VBA.TypeName(Selection) = "DrawingObjects") Then
For Each obj In Selection
Call FormatZuweisen(obj)
Next obj
Else
Call FormatZuweisen(Selection)
End If
End Sub

Private Sub FormatZuweisen(ByRef i_obj As Variant)
Dim sh As Shape
Select Case TypeName(i_obj)
Case "Picture":
Set sh = ActiveSheet.Shapes(i_obj.Name)
With sh
.LockAspectRatio = msoFalse
.PictureFormat.CropLeft = Links
.PictureFormat.CropTop = Oben
.PictureFormat.CropRight = Rechts
.PictureFormat.CropBottom = Unten
.Height = Höhe
.Width = Breite
.LockAspectRatio = msoTrue
End With
Case Else
MsgBox "Keine Grafik!", , TypeName(i_obj)
End Select
End Sub

Anzeige
Dankeschön für die Hilfe !!! o.T.
12.04.2006 08:39:49
AndreasB

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige