Hallo zusammen, ich bin nicht wirklich in VBA drinnen und verzweifle gerade etwas daran.
Im Endeffekt versuche ich einfach nur ein Bild aus einer Zelle zu kopieren und dieses dann an einer anderen Stelle wieder in eine entsprechende Zelle einzufügen. Das Makro an sich funktioniert aber das Zielfeld, wo das Bild rein soll, bleibt leider leer.
Vielleicht erkennt ja einer von euch mit mehr Erfahrung als ich worin der Fehler liegt.
Ich bin über jede Hilfe sehr dankbar!
Merci!
Tobi
Anbei der Quellcode:
Sub KundenBearbeiten_DBEingabe()
' Tabelle einlesen
Dim tbl As ListObject
Set tbl = tb_Datenbank.ListObjects(1)
Dim Zeile As Long
Zeile = ActiveCell.Row - tbl.HeaderRowRange.Row
With tb_Eingabeformular
' Spalten leeren
.Columns("H").ClearContents
.Columns("L").ClearContents
' Eingabeformular befüllen
.Range("H12").Value = tbl.DataBodyRange(Zeile, 1).Value
.Range("H18").Value = tbl.DataBodyRange(Zeile, 3).Value
.Range("H20").Value = tbl.DataBodyRange(Zeile, 4).Value
.Range("H22").Value = tbl.DataBodyRange(Zeile, 5).Value
' Bildverarbeitung
Dim Bild As Picture
For Each Bild In tb_Datenbank.Pictures
If Not Intersect(Bild.TopLeftCell, tbl.DataBodyRange(Zeile, 2)) Is Nothing Then
' Bild kopieren
Bild.CopyPicture
' Zielzelle auswählen und Bild einfügen
.Range("H28").Select.PastePictureInCell
Exit For ' Nur ein Bild kopieren
End If
Next Bild
.Range("L18").Value = tbl.DataBodyRange(Zeile, 6).Value
.Range("L20").Value = tbl.DataBodyRange(Zeile, 7).Value
.Range("L22").Value = tbl.DataBodyRange(Zeile, 8).Value
.Range("L24").Value = tbl.DataBodyRange(Zeile, 9).Value
.Range("L26").Value = tbl.DataBodyRange(Zeile, 10).Value
' Navigieren auf das Eingabeformular
.Shapes.Range(Array("txt_Anlegen", "img_Anlegen")).Visible = False
.Shapes.Range(Array("txt_Bearbeiten", "img_Bearbeiten")).Visible = True
.Select
' Zelle auswählen
.Range("H18").Select
End With
End Sub
|