Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro: Bild in Zellbereich einfügen
#1
Hallo,
 
ich benötige Hilfe bei der Formulierung des Makrocodes in Excel.
 
Das untenstehende Skript funktioniert gut, um ein Bild einzufügen und zu löschen. Allerdings wird das Bild nach dem Einfügen immer von der Zelle (N24) aus nach unten rechts platziert, sodass die Zellen wie N25, N26 usw. und auch O25, O26 usw. durch die Größe des Bildes unbeabsichtigt verdeckt werden. Wie kann ich den Code im Skript so ändern, dass das Bild von der Zelle (N24) aus nach oben rechts oder oben links platziert wird?
 
Vielen Dank im Voraus und einen schönen Tag!
 
Martin

Code:
Sub typ_2010_A02()
    ActiveWindow.LargeScroll Down:=1
    Worksheets("Tabelle1").Range("Q17").FormulaR1C1 = "2"
    Worksheets("Tabelle2").Range("N24").Select
   
    Call Picture_Delete_A
   
    ActiveSheet.Shapes.Range(Array("Grafik 2")).Select
    Selection.Copy
    Sheets("Tabelle2").Select
    Range("N24").Select
    ActiveSheet.Paste
End Sub

Code:
Sub Picture_Delete_A()
Dim pic As Object
For Each pic In Worksheets("Tabelle2").Shapes
    If pic.TopLeftCell.Address(0, 0) = "N24" Then
        pic.Delete
    End If
Next pic
End Sub
Antworten Top
#2
Hallo Maddin,

hier mal was zum Spielen.

Hierbei wird das Bild ausgehend von N24 anhand der Bildgröße nach links und oben verschoben.
Mit dem ausgeremmten code kannst Du es auch an das Feld N24 anpassen.

Es gibt noch viele Möglichkeiten....
Code:

Sub typ_2010_A02()
  Dim AC As Range
  
' ActiveWindow.LargeScroll Down:=1
 
  Worksheets("Tabelle2").Select
  Range("Q17").FormulaR1C1 = "2"
  Call Picture_Delete_A

  ActiveSheet.Shapes("Grafik 2").Copy
  ActiveSheet.Paste
  Set AC = Range("N24")
  With Selection
    .Top = AC.Top - .Height
    .Left = AC.Left - .Width
'    .ShapeRange.LockAspectRatio = msoTrue
'    .Width = AC.Width
'    .Height = AC.Height
  End With
End Sub

_________
viele Grüße
Karl-Heinz
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste