Bild per VBA einfügen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Bild per VBA einfügen
von: Laser
Geschrieben am: 28.06.2015 14:44:27

Hallo Leute
Hallo Sepp
Dein Code funktioniert perfekt nur habe ich 1 Problem bei einem Rechner wo ich noch Excel 2003 habe. Dort bleibt er in der zeile hängen

  • If objPic.TopLeftCell.Row = Target.Row Then

  • Gibt es die Funktion unter Excel 2003 nicht oder habe ich irgentwo einen Fehler dirn??
    Danke für eure Hilfe
  • Option Explicit
    Private Sub CommandButton3_Click()
       
    Dim rng As Range, rngA As Range
    Dim vntret As Variant
    Set rngA = ActiveCell
    For Each rng In Range("z20:z50")
      vntret = Application.Match(rng, Sheets("Kantenbild").Range("c1:C30"), 0)
      If IsNumeric(vntret) And rng <> "" Then
        erasePic rng
        copyPic rng.Offset(0, -4), CLng(vntret)
      Else
        erasePic rng
      End If
    Next
    rngA.Select
    End Sub

    Private Sub erasePic(Target As Range)
    Dim objPic As Shape
    For Each objPic In Me.Shapes
      If objPic.TopLeftCell.Row = Target.Row Then
        objPic.Delete
        Exit Sub
      End If
    Next
    End Sub

    Private Sub copyPic(Target As Range, Index As Long)
    Dim objPic As Shape, objCopy As Shape
    With Sheets("Kantenbild")
      For Each objPic In .Shapes
        If objPic.TopLeftCell.Row = Index Then
          objPic.Copy
          Me.Paste
          Set objCopy = Me.Shapes(Me.Shapes.Count)
          objCopy.Left = Target.Left
          objCopy.Top = Target.Top
          Exit Sub
        End If
      Next
    End With
    End Sub

  • Bild

    Betrifft: AW: Bild per VBA einfügen
    von: Sepp
    Geschrieben am: 28.06.2015 15:36:08
    Hallo Laser,
    hab zwar xl 2003 nicht zu Verfügung .TopLeftCell hat es aber auch da schon gegeben.

    Gruß Sepp


    Bild

    Betrifft: AW: Bild per VBA einfügen
    von: Laser
    Geschrieben am: 28.06.2015 15:53:13
    Hallo Sepp
    Das komische ist er läuft diesen Code 3mal durch mit next, dann kommt erst der Laufzeitfehler 1004
    If objPic.TopLeftCell.Row = Target.Row Then
    aber ich wüsste nicht was ich anders amche als zuvor ausser das es Excel 2003 ist
    mfg
    Jürgen

  • 
    Private Sub erasePic(Target As Range)
    Dim objPic As Shape
    For Each objPic In Me.Shapes
      If objPic.TopLeftCell.Row = Target.Row Then
        objPic.Delete
        Exit Sub
      End If
    Next
    End Sub


  • Bild

    Betrifft: AW: Bild per VBA einfügen
    von: Sepp
    Geschrieben am: 28.06.2015 17:03:05
    Hallo Laser,
    wenn der Code sunst tut was er soll, dann schreib einfach "On Error Resume Next" davor.

    Gruß Sepp


    Bild

    Betrifft: AW: Bild per VBA einfügen
    von: Laser
    Geschrieben am: 28.06.2015 17:29:22
    Hallo Sepp
    Danke für den Tip nun geht es, schon komisch
    mfg
    Jürgen

     Bild

    Beiträge aus den Excel-Beispielen zum Thema "Bild per VBA einfügen"