Supportnet / Forum / Tabellenkalkulation
Makro zur Bildgrößenveränderung
Frage
Hallo,
ich bin leider kein VBA Experte und stelle deswegen hier die Frage wie ein Makro aussehen muss mit dem man alle Bilder in einem Excel Dokument markieren kann und diese in eine bestimmte Bildhöhe umwandeln kann.
Bisher mache ich das immer umständlich über den Zeichnen Pfeil mit dem ich alle markiere und dann mit Grafik formatieren. Dort stelle ich dann die Höhe auf 5. Das klappt ganz gut, dauert aber zu lange.
Danke
Andreas
Antwort 1 von Saarbauer
Hallo,
zeichne dir doch das erforderliche Markro auf.
Gruß
Helmut
zeichne dir doch das erforderliche Markro auf.
Gruß
Helmut
Antwort 2 von AWW
Wenn ich das aufzeichne, dann erwischt er im wahrscheinlich im Zweifelsfall nicht alle Bilder im Dokument. Oder doch ?
Sauberer wäre das auif jeden Fall in VBA.
Aber ich probiere das mit dem aufzeichnen mal.
Sauberer wäre das auif jeden Fall in VBA.
Aber ich probiere das mit dem aufzeichnen mal.
Antwort 3 von Saarbauer
Hallo,
die Aufzeichnung ist ein VBA-Makro. Aber so wie ich es aus deinen Angaben verstehe soll das Programm wohl automatisch die Bilder suchen und ändern.
Gruß
Helmut
die Aufzeichnung ist ein VBA-Makro. Aber so wie ich es aus deinen Angaben verstehe soll das Programm wohl automatisch die Bilder suchen und ändern.
Gruß
Helmut
Antwort 4 von AWW
Genau, das Makro soll alle Bilder im Dokument suchen markieren und dann auf die Höhe 5 cm ändern.
Am besten wären 2 Makros. Eines das alle Bilder im Dokument markiert/auswählt.
Und ein Makro, das die Bildgröße aller Bilder auf eine angegebene Höhe verändert.
Grüße
Andreas
Am besten wären 2 Makros. Eines das alle Bilder im Dokument markiert/auswählt.
Und ein Makro, das die Bildgröße aller Bilder auf eine angegebene Höhe verändert.
Grüße
Andreas
Antwort 5 von aww
Also wie ich die Bildgröße verändere habe ich mittlerweile rausgefunden:
Sub Größe()
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 141.75
End Sub
Wie kann ich aber per Makro alle Bilder im Tabellenblatt automatisch markieren. Egal wo diese sich befinden und wie groß diese sind!
Danke
Andreas
Sub Größe()
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 141.75
End Sub
Wie kann ich aber per Makro alle Bilder im Tabellenblatt automatisch markieren. Egal wo diese sich befinden und wie groß diese sind!
Danke
Andreas
Antwort 6 von coros
Hallo Andreas,
nachfolgendes Makro bring alle Bilder in Deinem Tabellenblatt auf die von Dir vorgegebene Größe. Kopiere das Makro in ein StandardModul.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nachfolgendes Makro bring alle Bilder in Deinem Tabellenblatt auf die von Dir vorgegebene Größe. Kopiere das Makro in ein StandardModul.
Option Explicit
Sub Bilder_ändern()
Dim Picture As Shape
For Each Picture In ActiveSheet.Shapes
With Picture
.Height = 141.75
End With
Next
End Sub
Ich hoffe, Du kommst klar. Bei Fragen melde Dich
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 2 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 7 von aww
Hey Oliver,
klappt super.
Wenn Du jetzt noch ein Makro parat hast mit dem ich alle Bilder makieren und kopieren kann, so dass ich die Bilder in einem anderen Excel Sheet manuell einfügen kann, wäre das super !
Vielen Dank schon mal
Andreas
Übrigens sehr coole HP von Dir. War ich auch schon mal drauf!
klappt super.
Wenn Du jetzt noch ein Makro parat hast mit dem ich alle Bilder makieren und kopieren kann, so dass ich die Bilder in einem anderen Excel Sheet manuell einfügen kann, wäre das super !
Vielen Dank schon mal
Andreas
Übrigens sehr coole HP von Dir. War ich auch schon mal drauf!
Antwort 8 von coros
Hallo Andreas,
dann sieht das Makro folgendermaßen aus:
Hier werden alle Bidlewr aus dem aktiven Tabellenblatt in das Tabellenblatt mit dem Namen "Tabelle2" an die gleiche Position, wie sie im aktiven Blatt positioniert sind, kopiert.
Danke für das Homepage-Lob.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
dann sieht das Makro folgendermaßen aus:
Option Explicit
Sub Bilder_kopieren()
Dim Picture As Shape
Application.ScreenUpdating = False
For Each Picture In ActiveSheet.Shapes
With Picture
.Copy
End With
Sheets("Tabelle2").Paste
Next
End Sub
Hier werden alle Bidlewr aus dem aktiven Tabellenblatt in das Tabellenblatt mit dem Namen "Tabelle2" an die gleiche Position, wie sie im aktiven Blatt positioniert sind, kopiert.
Danke für das Homepage-Lob.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 9 von aww
Hallo Oli,
gibt es auch die Möglichkeit lediglich alle Bilder zu markieren oder diese zu markieren und in die Zwischenablage zu kopieren ?
Ich will diese dann nämlich in anderen immer unterschiedlichen Excel Dokumenten verwenden.
Danke
Andreas
gibt es auch die Möglichkeit lediglich alle Bilder zu markieren oder diese zu markieren und in die Zwischenablage zu kopieren ?
Ich will diese dann nämlich in anderen immer unterschiedlichen Excel Dokumenten verwenden.
Danke
Andreas
Antwort 10 von coros
Hallo Andreas,
dann sieht das Makro wie folgt aus:
Befinden sich nicht nur Grafiken, sondern auch Buttons oder Textfelder usw. in den Tabellenblättern, muss heruasgefiltert werden, bei welchem Objekt es sich um eine Grafik handelt. Das würde dann wie folgt aussehen. Das Makro ist das gleiche, außer dass nur Grafiken in die Zwischenablage kopiert werden.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
dann sieht das Makro wie folgt aus:
Option Explicit
Sub Bilder_in_Zwischenablage()
Dim Picture As Shape
For Each Picture In ActiveSheet.Shapes
Picture.Select Replace:=False
Next
Selection.Copy
End Sub
Befinden sich nicht nur Grafiken, sondern auch Buttons oder Textfelder usw. in den Tabellenblättern, muss heruasgefiltert werden, bei welchem Objekt es sich um eine Grafik handelt. Das würde dann wie folgt aussehen. Das Makro ist das gleiche, außer dass nur Grafiken in die Zwischenablage kopiert werden.
Option Explicit
Sub Nur_Bilder_in_Zwischenablage()
Dim Picture As Shape
For Each Picture In ActiveSheet.Shapes
If Picture.Type = 13 Then Picture.Select Replace:=False
Next
Selection.Copy
End Sub
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.