Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1960to1964
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
Inhaltsverzeichnis

Bild in Rechtecksform einfügen und in Form einpassen

Bild in Rechtecksform einfügen und in Form einpassen
10.01.2024 22:14:58
Koko23
Hallo zusammen,

ich versuche aktuell ein Bild in eine Rechtecks-Form (ganz normal eingefügte Form über "Einfügen"-> Form-> Rechteck), die beliebig auf einem Excel-Sheet platziert wird, einzufügen.
Da in dieser Rechtecksform oben links beginnend erstmal zwei Zeilen Text stehen (ist in Calibri mit 11 pt und einfachem Zeilenabstand geschrieben), möchte ich, dass das Bild unterhalb dieser zwei Schriftzeilen beginnt und den Rest der Form ausfüllt.

Wenn ich das ganze wie gewünscht manuell durchführe, funktioniert das mit folgenden Schritten:
- Form Anklicken
- Rechtsklick -> "Grafik formatieren"
- "Formoptionen"
- Füllung "Bild- oder Texturfüllung" auswählen
- Bild aus den Dateien auswählen und einfügen
- Haken bei "Bild nebeneinander als Textur anordnen" soll nicht gesetzt sein
- Offset von links, rechts und unten ist 0%
- Offset von oben ist 30%
- Haken bei "mit Form drehen" soll aktiviert sein

Dieser Ablauf und das Ergebnis dessen soll nun durch eine VBA-Prozedur automatisiert werden...
Als Code habe ich versucht das ganze folgendermaßen auszuführen:



Sub Bild_einfügeen)
Dim picPath As String
Dim shp As shape
Dim topOffset As Double

' Dialogfeld zum Öffnen einer Datei anzeigen
picPath = Application.GetOpenFilename("Bilder (*.jpg;*.jpeg;*.gif;*.png),*.jpg;*.jpeg;*.gif;*.png")

' Überprüfen, ob eine Datei ausgewählt wurde
If picPath > "False" Then
' Ausgewähltes Rechteck auf dem aktiven Blatt
Set shp = Selection.ShapeRange(1)

' Bild als Füllung für das Rechteck einfügen
With shp.Fill
.Visible = msoTrue
.UserPicture picPath ' Das Bild als UserPicture verwenden

' Einstellungen für die Texturfüllung anpassen
.TextureTile = msoFalse ' Haken bei "Bild nebeneinander als Textur anordnen" nicht setzen

' Positionierung des Bildes innerhalb der Form mit Abstand von oben und zentriert horizontal
topOffset = (shp.Height - UserPicture.Fill.Height) * 0.3 ' 30% Offset von oben

.TextureAlignment = msoTextureTopLeft ' Ausrichtung oben links setzen
.TextureOffsetX = (shp.Width - UserPicture.Fill.Width) / 2 ' Horizontal zentrieren
.TextureOffsetY = topOffset ' Offset von oben setzen

' Weitere Optionen für die Form festlegen
shp.ThreeD.Perspective = msoTrue ' Haken bei "mit Form drehen" aktivieren
End With
End If
End Sub


So wird mir aber immer "die Zeile 2topPffset = ..." als Fehler markiert und bei UserPicture kommt die Fehlermeldung "Argument ist nicht optional". Ich verstehe die Fehlermeldung nicht und kann den Fehler auch nicht beheben.. vielleicht ist die Herangehensweise in meinem Code auch insgesamt nicht schlüssig und es gibt von eurer Seite aus andere Ideen?

Vielen Dank schon mal für die Hilfe!

Gruß KoKo

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

Betreff
Datum
Anwender
Anzeige
AW: Bild in Rechtecksform einfügen und in Form einpassen
11.01.2024 08:49:51
Pierre
Hallo,

versuch mal zuerst, dein beschriebenes Vorgehen mit dem Recorder aufzuzeichnen.

Gruß Pierre
AW: Bild in Rechtecksform einfügen und in Form einpassen
11.01.2024 09:20:45
Koko23
Das habe ich bereits probiert, da ich so oft andere Probleme habe lösen können. In diesem Fall führt das aber leider zu nicht viel...
AW: Bild in Rechtecksform einfügen und in Form einpassen
12.01.2024 15:29:27
Mullit
Hallo,

hm, sieht so aus als wenn's da leider keinen Zugriff über VBA gibt....

Gruß, Mullit
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige