Sub Affiche_Image() Dim Ws Als Werkblad ' Gebruikt om het bladobject gemakkelijker te manipuleren Dim Image As String ' Bevat de naam van de afbeelding Dim Lg As Long ' Nummer van de laatste rij kolom B
Voor lg = 2 TB . Bereik ("B65536"). Einde(xlUp). Rij ' doorkruist alle kolommen B
Afbeelding = DitWerkboek.Pad & "\Catalogus\" & . Cellen (Lg, "A") ' Directory om te vernieuwen
Op Fout Hervatten Volgende ' We ontdoen ons van fouten Met. Afbeeldingen.Invoegen (Afbeelding). ShapeRange ' We voegen de afbeelding in waarvan de naam in kolom B staat
. LockAspectRatio = msoFalse ' U kunt het formaat wijzigen zoals u wilt . Links = Ws.Cellen(Lg, "B"). Links ' Linker Positie . Boven = Ws.Cellen(Lg, "B"). Top ' Positie Hoog . breedte = ws.cellen(lg, "b"). Breedte ' Breedte . hoogte = ws.cellen(lg, "b"). Hoogte ' hoogte Eindigen met Als Err.Number > 0 Dan ' Als een fout (afbeelding niet aanwezig) MsgBox . Cellen (Lg, "A") & vbCr & "Niet-bestaand beeld" ' Het wordt gerapporteerd Einde als Volgende LG Eindigen met Einde Sub
Sub Efface_Images() Dim Ws Als Werkblad ' Gebruikt om het bladobject gemakkelijker te manipuleren Dim Sh As Shape ' Wordt gebruikt om reeds weergegeven vormen (afbeeldingen) te manipuleren
Set Ws = Bladen("Inkooporder") ' Bladnaam
Met Ws
Voor elke sh in . Vormen ' Blader door de hele vormencollectie (afbeeldingen) Zo niet, kruis (. Columns(1), Sh.TopLeftCell) is dan niets ' als het in kolom 1 staat Sh.Delete ' We verwijderen het Einde als volgende Sh Eindigen met
Sorry, het lijkt een beetje op een "overstroming"...
Dus samengevat heb ik een "A"-kolom waar ik het artikelnummer zet (beginnend met regel 2)
En in kolom "B" wordt de afbeelding die overeenkomt met het artikelnummer weergegeven wanneer ik op de knop klik (er zijn 2 knoppen met de macro, één om de afbeeldingen weer te geven, één om te verwijderen)