Microsoft Excel

Herbers Excel/VBA-Archiv

LOGO in der Tabelle

Betrifft: LOGO in der Tabelle von: Riman
Geschrieben am: 30.09.2014 11:12:43

Hallo,

ich habe eine Excel Datei mit Makro, die eine CSV Datei importiert und anschließend bearbeitet.

Ich möchte neben die Spaltenüberschrieften in eine Zelle ein Logo(Bild) einfügen.
Das habe ich mit eine Makrorecorder gemacht, das Problem ist, dass an der Stelle LogoEinfügen() das Bild nicht an der Selbe Position ist, oder beim Speichern unter eine andere Datei. Also ich möchte z.b. in spalte "L1" ein LOGO (Bild)drinnen haben, fixiert, dass beim Ausführen der Makro, dass das Bild immer an der selbe Position ist.

Danke

Sub LOGOEinfügen()
'
' LOGOEinfügen Makro
'

'
    Columns("L:L").ColumnWidth = 14.57
    Range("L1").Select
    ActiveSheet.Pictures.Insert( _
        "C:\Users\LOGO\Logo.jpg" _
        ).Select
    Selection.Placement = xlMoveAndSize
    Selection.ShapeRange.ScaleWidth 0.9359722924, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.9359722924, msoFalse, msoScaleFromTopLeft
    Columns("L:L").ColumnWidth = 16
    Selection.ShapeRange.ScaleWidth 0.8723401594, msoFalse, msoScaleFromTopLeft
    Columns("L:L").ColumnWidth = 18#
 

End Sub


  

Betrifft: AW: LOGO in der Tabelle von: fcs
Geschrieben am: 30.09.2014 13:06:37

Hallo Riman,

zum Positionieren des Logos innerhalb der Zelle L1 würde ich mit anderen Eigenschaften arbeiten als mit der Skalierung.
Erst die Spaltenbreite setzen, dann das Bild einpassen/positionieren.

Die Probleme mit der Bildposition beim Speichern etc. kann ich nicht nachvollziehen.

Gruß
Franz

Sub LOGOEinfügen()
'
' LOGOEinfügen Makro
'
  Dim objShape As Shape, Zelle As Range
'
    Columns("L:L").ColumnWidth = 18#
    Set Zelle = Range("L1") 'Einfügezelle für Bild
    Zelle.Select
    
    Set objShape = ActiveSheet.Shapes(ActiveSheet.Pictures.Insert( _
        "C:\Users\LOGO\Logo.jpg").Name)
    With objShape
      .Placement = xlFreeFloating ' oder xlMove
      .LockAspectRatio = msoTrue
      .Width = Zelle.Width - 4
      .Left = Zelle.Left + 2
      .Top = Zelle.Top + 1
    End With

End Sub



 

Beiträge aus den Excel-Beispielen zum Thema "LOGO in der Tabelle"