AW: Bilder übernehmen
19.02.2023 11:30:58
volti
Hallo Ralf,
hier ein Makro, welches das entsprechende Logo austauscht, sobald man in R1 einen anderen Kunden auswählt.
Die Variante ist ggü. meines vorherigen Vorschlags ist allerdings umfangreicher.
Um die Grafiken nicht benennen zu müssen, werden sie anhand ihrer Position in einer Schleife gesucht. Kann man natürlich auch anders gestalten.
Bzgl. der Position und der Größe habe ich noch entsprechenden Code mit aufgenommen.
Probiere es halt mal aus....
Logo_Wechseln.xlsm
Code:
Option Explicit
Sub Logo_Wechseln()
Dim WSh As Worksheet, oShape As Object
Dim vGefunden As Variant
Set WSh = ThisWorkbook.Sheets("Datenblatt")
' Bild suchen und kopieren
With ThisWorkbook.Sheets("Logos")
vGefunden = Application.Match(WSh.Range("R1").Value, .Columns(1), 0)
If IsError(vGefunden) Then Exit Sub
For Each oShape In .Shapes
If oShape.TopLeftCell.Address = .Cells(vGefunden, "B").Address Then
oShape.CopyPicture Appearance:=xlScreen, Format:=xlBitmap
DoEvents: Exit For
End If
Next oShape
End With
' Bild einfügen, vorher altes löschen
WSh.Select
WSh.Unprotect ' Blatt entschützen
On Error Resume Next
WSh.Shapes.Range("Logobild").Delete ' Altes Bild löschen
ActiveSheet.Paste ' Neues Bild einfügen
With Selection
.Name = "Logobild"
.Width = 130 ' Mit Größe und Position spielen...
.Top = WSh.Range("I2").Top + 2
.Left = WSh.Range("I2").Left + 110
End With
Range("A1").Select
WSh.Protect ' Blatt schützen
End Sub
_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz