• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Een foto in een cel plaatsen, maar kan niet deze verwijderen

Status
Niet open voor verdere reacties.

Sabphi

Gebruiker
Lid geworden
29 aug 2012
Berichten
15
Ik kan door een selectie de QR code (foto) en de naam van één der leden weergeven.
Helaas zou ik willen als ik van het werkblad wegga (via een knop) dat de foto verwijderd wordt.
De foto's hebben telkens een andere naam en dus kan ik niet weten welke te verwijderen.

Hierna het stukje om een foto te plaatsen in cel B2

Private Sub ListBox2_Initialize()
Dim rng As Range
For Each rng In Range("A2:A150")
Me.lstState.AddItem rng.Value
Next rng

End Sub


Private Sub CMD_LID_QR_Click()
Dim QRPath As Variant
Dim img As Picture

ActiveWorkbook.Sheets("QR-Kaart").Activate

QRPath = ("E:\Blauwe wimpel\Foto leden + QR" & Me.ListBox2.Value & ".png")

Set img = ActiveSheet.Pictures.Insert(QRPath)
With img
'zet de QRcode passend in de cel
.Left = ActiveSheet.Range("B2").Left
.Top = ActiveSheet.Range("B2").Top
.Width = ActiveSheet.Range("B2").Width
.Height = ActiveSheet.Range("B2").Height
.Placement = 1
.PrintObject = True

End With

Range("A1") = Me.ListBox2.Value

Unload UFLid_select_QR

End Sub
 
Laatst bewerkt:
Nu nóg een keer aanpassen, en de code tussen CODE tags plaatsen ;).
 
voeg deze regel toe om de foto telkens dezelfde naam te geven:

Code:
With img
    'zet de QRcode passend in de cel
    .Left = ActiveSheet.Range("B2").Left
    .Top = ActiveSheet.Range("B2").Top
    .Width = ActiveSheet.Range("B2").Width
    .Height = ActiveSheet.Range("B2").Height
    .Placement = 1
    .PrintObject = True
    [COLOR="#FF0000"].Name = "mijnafbeelding"[/COLOR]
End With


en dan deze om de afbeelding telkens te verwijderen
Code:
Sub delete()
ActiveSheet.Shapes("mijnafbeelding").Delete
End Sub
 
Geef het de naam van de waarde van ListBox2.

Geen idee waar ListBox2 staat, dus even aanpassen.
Code:
[COLOR=#3E3E3E]Private Sub CMD_LID_QR_Click()
QRPath as string[/COLOR]
 QRPath = "[COLOR=#3E3E3E]E:\Blauwe wimpel\Foto leden + QR" & Me.ListBox2.Value & ".png"[/COLOR]
  With [COLOR=#3E3E3E]Sheets("QR-Kaart")[/COLOR].Range("b2")
        .Parent.Shapes.AddPicture(QRPath, 0, -1, .Left, .Top, .Width, .Height).Name = [COLOR=#ff0000]listbox2.value[/COLOR]
  End With
End Sub
 
Maar doe het vooral vanaf het begin goed:

Code:
Private Sub [B]Userform[/B]_Initialize()
   lstState.List=Range("A2:A150").Value
End Sub
 
Oh, daar staat de Listbox. :D

Dat krijg je dus als je geen codetags gebruikt.
Als in cel A1 de waarde van Listbox2 komt, kun je daar naar verwijzen om het te verwijderen.
 
Opgelost

Beste,

Had een vermoeden dat het een simpel iets zou zijn. En toch vond ik het niet. Allen bedankt voor de oplossingen.
Het is dit geworden (zie onder) en het werkt perfect, dankzij LAM201.

ListBox1 = een apart formuliertje met alle namen van de leden. Als ik daar dan een lid selecteer neem ik deze mee en plak deze in Range("A1") = Me.ListBox1.Value

De ander voorbeelden ga ik ook testen, waarvoor dank.

Code:
Dim rng As Range
    For Each rng In Range("A2:A150")
    Me.lstState.AddItem rng.Value
    Next rng

End Sub

Private Sub CMD_OK_Click()
Dim fNameAndPath As Variant
Dim QRAndPath As Variant
Dim img As Picture

ActiveWorkbook.Sheets("Lidkaart").Activate
fNameAndPath = ("E:\Blauwe wimpel\Foto leden + QR\" & Me.ListBox1.Value & ".jpg")
Range("B2").Select
Set img = ActiveSheet.Pictures.Insert(fNameAndPath)
With img
       'Resize Picture to fit in the range....
       .Left = ActiveSheet.Range("B2").Left
       .Top = ActiveSheet.Range("B2").Top
       .Width = ActiveSheet.Range("B2").Width
       .Height = ActiveSheet.Range("B2").Height
       .Placement = 1
       .PrintObject = True
       .Name = "Lid"
    End With
    
QRAndPath = ("E:\Blauwe wimpel\Foto leden + QR\" & Me.ListBox1.Value & ".png")
Range("B3").Select
Set img = ActiveSheet.Pictures.Insert(QRAndPath)
With img
       'Resize Picture to fit in the range....
       .Left = ActiveSheet.Range("B3").Left
       .Top = ActiveSheet.Range("B3").Top
       .Width = ActiveSheet.Range("B3").Width
       .Height = ActiveSheet.Range("B3").Height
       .Placement = 1
       .PrintObject = True
       .Name = "QR Lid"
    End With
Range("A1") = Me.ListBox1.Value


Unload UFLid_select
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan