Dave Peterson gave me this code years ago in groups forum, you can select a range then run the code, when you have selected your picture from the file, it will insert the picture into your selection

Option Explicit
Private Declare Function SetCurrentDirectoryA Lib _
                                              "kernel32" (ByVal lpPathName As String) As Long
Sub ChDirNet(szPath As String)
    Dim lReturn As Long
    lReturn = SetCurrentDirectoryA(szPath)
    If lReturn = 0 Then Err.Raise vbObjectError + 1, "Error setting path."
End Sub
Sub testme01()

    Dim myPictureName As Variant
    Dim myPict As Picture
    Dim myRng As Range
    Dim myCurFolder As String
    Dim myNewFolder As String

    myCurFolder = CurDir
    myNewFolder = "yourfoldernamehere"

    On Error Resume Next
    ChDirNet myNewFolder
    If Err.Number <> 0 Then
        'what should happen
        MsgBox "Please change to your own folder"
        Err.Clear
    End If
    On Error GoTo 0

    myPictureName = Application.GetOpenFilename(filefilter:="PictureFiles,*.jpg;*.bmp;*.tif;*.gif")

    ChDirNet myCurFolder

    If myPictureName = False Then
        Exit Sub    'user hit cancel
    End If

    Set myRng = Selection.Areas(1)
    Set myPict = myRng.Parent.Pictures.Insert(myPictureName)
    myPict.Top = myRng.Top
    myPict.Width = myRng.Width
    myPict.Height = myRng.Height
    myPict.Left = myRng.Left
    myPict.Placement = xlMoveAndSize

End Sub