@thiago.alves22 Então fiz aqui dois códigos:
Um com o caminho da pasta e da imagem já dentro do código:
Sub loopFoto()
Dim MinhaPasta As String, MeuFicheiro As String, MinhaImagem As String
MinhaPasta = "C:\Users\thiago.vasconcelos\OneDrive - Axess AS\Desktop\Axess\Axess\Modelo"
MinhaImagem = "C:\Users\thiago.vasconcelos\OneDrive - Axess AS\Desktop\Axess\Axess\Assinatura Lincon\Assinaturas\Assinatura Lincon Daquilla.jpeg"
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
MeuFicheiro = Dir(MinhaPasta & "\", vbReadOnly)
Do While MeuFicheiro <> ""
DoEvents
On Error GoTo 0
Workbooks.Open Filename:=MinhaPasta & "\" & MeuFicheiro, UpdateLinks:=False
'Aqui vai o nome da WorkSheet
Sheets("SegundaPagina2Fotos").Select
With ActiveSheet.Pictures.Insert(MinhaImagem)
With .ShapeRange
.LockAspectRatio = msoTrue
.Width = 75 'Alterar tamanho
.Height = 100 'Alterar tamanho
End With
.Left = ActiveSheet.Range("Q59").Left
.Top = ActiveSheet.Range("Q59").Top
.Placement = 1
.PrintObject = True
End With
0
Workbooks(MeuFicheiro).Close SaveChanges:=True
MeuFicheiro = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
Application.Calculation = xlCalculationManual
End Sub
Outro com a possibilidade de escolher a pasta e a imagem:
Sub loopFoto()
Dim MinhaPasta As String, MeuFicheiro As String, MinhaImagem As String
MsgBox "Selecione a pasta!", vbOKOnly
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Show
MinhaPasta = .SelectedItems(1)
Err.Clear
End With
MsgBox "Selecione a imagem!", vbOKOnly
With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Clear
.Filters.Add "JPG", "*.JPG"
.Filters.Add "JPEG File Interchange Format", "*.JPEG"
.Filters.Add "Graphics Interchange Format", "*.GIF"
.Filters.Add "Portable Network Graphics", "*.PNG"
.Filters.Add "Tag Image File Format", "*.TIFF"
.Filters.Add "All Pictures", "*.*"
.AllowMultiSelect = False
.Show
MinhaImagem = .SelectedItems(1)
Err.Clear
End With
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
MeuFicheiro = Dir(MinhaPasta & "\", vbReadOnly)
Do While MeuFicheiro <> ""
DoEvents
On Error GoTo 0
Workbooks.Open Filename:=MinhaPasta & "\" & MeuFicheiro, UpdateLinks:=False
Sheets("SegundaPagina2Fotos").Select
With ActiveSheet.Pictures.Insert(MinhaImagem)
With .ShapeRange
.LockAspectRatio = msoTrue
.Width = 75
.Height = 100
End With
.Left = ActiveSheet.Range("Q59").Left
.Top = ActiveSheet.Range("Q59").Top
.Placement = 1
.PrintObject = True
End With
0
Workbooks(MeuFicheiro).Close SaveChanges:=True
MeuFicheiro = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
Application.Calculation = xlCalculationManual
End Sub
Espero que lhe ajude!
Ps. Certifique-se que dentro da pasta apenas existem ficheiros Excel caso contrário vai causar erro.