VBA macro does not iterate over all cells when inserting pictures

Please, try the next way:

Sub InsertPictures()
 Dim photoCells As Cells, photoCell, arrPh() As Cell, i As Long
 Dim filePath As String, shape As InlineShape

 Set photoCells = Selection.Cells
 ReDim arrPh(1 To photoCells.Count)
 For i = 1 To photoCells.Count 'place selected cells in a cells array
    Set arrPh(i) = photoCells(i)
 Next

  For i = 1 To UBound(arrPh) 'iterate between the array cell elements
        filePath = arrPh(i).Range.Text
        filePath = Left(filePath, Len(filePath) - 2)
        If Dir(filePath) <> "" Then 'check if file path exists
            arrPh(i).Range.Text = ""
            With arrPh(i).Range.InlineShapes.AddPicture(filePath)
                .LockAspectRatio = msoTrue
                .Width = arrPh(i).PreferredWidth
            End With
        End If
  Next i
 MsgBox "Completed."
End Sub