ciao
intanto nel modulo 2 cancella la Private Sub Worksheet_Change(ByVal Target As Range) che non ha senso.
Poi: l'errore sta nel fatto che tu aggiungi un foglio e poi all'interno ci copi il contenuto del foglio Modello: questo ovviamente non si porta appresso l'evento Change che sta nel modello.
Pertanto devi utilizzare un altro metodo pre creare i nuovo fogli che consiste nel"duplicare" il foglio Modello, per esempio:
....
Sheets("Modello").Copy After:=Sheets(sheets.count)
....
questo fa sì che il nuovo foglio (che poi rinominerai a tuo piacere, contenga la macro dell'evento Change.
Relativamente alle immagini, (credo sia questo il motivo per il quale vuoi sfruttare l'evento Change) le puoi posizionare sfruttando le funzioni Top Left Height Width
Nel tuo caso, qualcosa del genere:
.....
If Range("B5") <> 0 Then
If Dir(ThisWorkbook.Path & "\Provafoto\" & Range("B5").Value & ".jpg") <> "" Then
With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\Provafoto\" & Range("B5").Value & ".jpg")
.ShapeRange.LockAspectRatio = msoFalse
Range("K6").Select
mTop = ActiveCell.Top
mLeft = ActiveCell.Left
mHeight = Range(ActiveCell.Address & ":" & ActiveCell.Offset(9).Address).Height
mWidth = Range(ActiveCell.Address & ":" & ActiveCell.Offset(, 1).Address).Width
.Top = mTop
.Left = mLeft
.Width = mWidth
.Height = mHeight
End With
......
saluti
[Modificato da dodo47 10/07/2019 13:10]
Domenico
Win 10 - Excel 2016