• 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.

Foto.Select

Status
Niet open voor verdere reacties.

Schelledraad

Gebruiker
Lid geworden
11 feb 2014
Berichten
112
Ik heb in een map een paar 100 foto's staan, waarvan ik er zeg 20 wil inlezen in Excel en naar een bepaalde plaats wil dirigeren
Ik heb daarop onderstaande code gemaakt.

Code:
Sub FotoShoot2()
[c2].Select

Do

        [u1].Value = ActiveCell.Offset(0, 2).Value
        ActiveSheet.Pictures.Insert("C:\Users\Frank\Downloads\Arli2" & [u1] & ".jpg").Select
        Selection.Name = [u1]
        Selection.Cut
        ActiveCell.Offset(0, 2).Select
        ActiveSheet.Paste
        Selection.ShapeRange.Width = 84
        ActiveCell.Offset(1, -2).Select
        Application.CutCopyMode = False

Loop Until ActiveCell.Offset(0,0) = ""
End Sub

De code werkt (soms) prima. In [U1] staat de naam van de foto die moet worden ingelezen. Eenmaal ingelezen heeft de foto als naam "Afbeelding 1234" die ik vervolgens hernoem naar [U1].
Vervolgens knip ik de foto en plak het op de positie waar ik het wil hebben. En zo "looped"hij door het lijstje wat ik wil inlezen.
Vaak gaat dat goed, maar geregeld slaat de code vast op "Selection.Cut" Dan blijkt de Selection wel hernoemd, maar is daarna niet meer geselecteerd ?!?
Het lijstje is steeds hetzelfde.
Soms slaat hij bij de 3e foto vast, maar soms ook bij de op een na laatste of de 14e foto ??

Wie oh wie
 
Laatst bewerkt door een moderator:
Probeer ik ook zoveel mogelijk te vermijden, maar als je een plaatje wil knippen en hernoemen zal je hem toch eerst moeten selecteren
 
Zoek de verschillen:

Code:
Sub M_snb()
  c00 = "C:\Users\Frank\Downloads\Arli2"
  sn = Cells(2, 3).CurrentRegion
   
  For j = 1 To UBound(sn)
    Shapes.AddPicture( c00 & sn(j, 1) & ".jpg", 0, 1, Cells(j, 5).Left, Cells(j + 1, 3).Top, 84, 84).name="snb_" & shapes.count
  Next
End Sub

Waarom iedere afbeelding dezelfde naam geven ?
 
ze hebben niet dezelfde naam. Eerder in de code staat [U1] = ActiveCell.Offset(0,0)

Op jouw code moet ik me ff stukbijten.
 
Vertel eens wat het verschil is tussen Activecell en Activecell.offset(0,0)

Gebruik voor de lol ook eens

Code:
Sub M_snb()
  Msgbox shapes.count
End Sub
 
Laatst bewerkt:
Nou, alle "Select" is eruit, maar het probleem is nu alleen maar erger geworden :confused:

Code:
Sub FotoShoot2()
    If ActiveCell.Offset(0, 2) <> "" Then
        [u1].Value = ActiveCell.Offset(0, 2).Value
        ActiveSheet.Pictures.Insert("C:\Users\Frank\Downloads\Arli2" & [u1] & ".jpg").Cut
        ActiveCell.Offset(0, 2).PasteSpecial (xlPasteAll)
        Selection.ShapeRange.Width = 84
        Application.CutCopyMode = False
    Else
    End If
End Sub
 
Laatst bewerkt door een moderator:
Gebruik Code tags in dit forum voor VBA-code.
 
Nou,

Ik heb het uiteindelijk met deze code opgelost. Gebruik nog wel "Select" om de positie te bepalen, maar het werkt nu perfect.

If ActiveCell.Offset(0, 2) <> "" Then
[u1].Value = ActiveCell.Offset(0, 2).Value
ActiveCell.Offset(0, 2).Select
Set myPict = ActiveSheet.Pictures.Insert("C:\Users\Frank\Downloads\Arli2" & [u1] & ".jpg")
With myPict
myPict.Top = .Top
myPict.Width = 84
End With
ActiveCell.Offset(0, -2).Select
Application.CutCopyMode = False
Else
End If

bedankt iig
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan