Clever-Excel-Forum

Normale Version: Bildsteuerelement aktualisieren bei For-Schleife
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe erneut eine Herausforderung und auch im Internet konnte ich keine Lösung finden, welche das Issue löst.

Zur Ausgangssituation
Ich habe eine Datenbank mit vielen Informationen, welche ausgelesen wird durch eine Matrixformel auf einem anderen Worksheet.
Um den korrekten Datensatz zu erhalten nutze ich eine Combobox, welche automatisch (dynamisch) befüllt wird.

Nun habe ich noch eine Funktion welche die Combobox durchläuft und jedesmal bei einer neuen Person die Seite als PDF speichert.

Das Problem
Wenn ich nun über die Funktion (Combobox durchlaufen und als PDF abspeichern) gehe, speichert er die PDF's so wie ich möchte, allerdings aktualisiert er als einziges das Bildsteuerelement nicht.

Versuchte Lösungen
Ich habe die Änderungen des Bildsteuerelementes schon durch "Worksheet_Change" versucht, sowie direkt in der Funktion.

Vielleicht habt Ihr noch Lösungsansätze, ich hänge die Codes einfach an.

Vielen Dank

Code:
'Check if File exists with Name of selected Person and return TRUE or FALSE
Function FileExists(BrickID As String)
Dim strPathBild As String
    BrickID = Range("[font=Courier New]B4[/font]").Value
        strPathBild = ThisWorkbook.Path & "\Pictures\" & BrickID & ".jpg "
    FileExists = Dir(strPathBild) <> ""
End Function

Function updatePicture()
   Dim BrickID As String, strPathBild As String
   'Select Name from Dropdown and set Value to BrickID
   BrickID = Range("B4").Value
   strPathBild = ThisWorkbook.Path & "\Pictures\" 'Set Path for Pictures
   'Call Function FileExists and check if is TRUE
   If FileExists(True) Then
        Person.Picture = LoadPicture(strPathBild & BrickID & ".jpg ")
   Else
       Person.Picture = LoadPicture(strPathBild & "error.jpg"): Err.Clear
   End If
End Function

Sub PrintPerson()
Dim lngZeile As Long
    For lngZeile = 0 To UffzName.ListCount - 1
        updatePicture
        Range("B4").Value = PersonName.List(lngZeile)
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        ThisWorkbook.Path & "\Person_Sites\" & Range("[font=Courier New]B4[/font]") & ".PDF", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
    Next lngZeile
End Sub
Hallöchen,

ich vermute, eine Änderung von B4 führt zu einem anderen Bild. Ich habe hier jedoch nicht gesehen, wann und wie sich B4 ändert Sad