Originariamente inviato da multijet
Manca la i alla fine:
next i
Ciao, è ininfluente.. anzi, ti dirò, sembra che se non metti il riferimento al contatore, dopo la next, sia anche meglio..in termini di ottimizzazione..anche se si perde in leggibilità del codice.

L'ultima soluzione che hai adottato, x69asterix, va quasi bene..
codice:
'dichiarazioni a livello generale
Dim imgSel As Boolean
Dim startIndex as long

'nell'evento del form_load:
imgSel=false
startIndex=0

'nell'evento click dell'immagine:
imgSel=true

'nell'evento click del button:
Private Sub XPButton3_Click()
   imgSel=false
   For i = startIndex To File1.ListCount
      DoEvents
      Image1.Picture = LoadPicture(File1.Path & "\" & File1.List(i))
      File1.ListIndex = File1.ListIndex + 1
      if  imgsel = True Then 
         startIndex=i
         Exit For
      end if 
   Next
End Sub