Guima, vamos por parte:
A duvida seria sobre LOOP nos Controles de Imagem na aba, e como não citou qual o tipo de controle, fui por suposição e utilizei o Controle ActiveX Image que você citou, ou seja, a rotina não envia Imagens para Celulas e sim para os controles que se encontram na aba (50). Vale ressaltar tambem que estou supondo que todos os controles estão com o nome padrão "Image1, Image2, Image3 ..."
Nas linhas desta última instrução que enviou, se estiver completa, nota-se a ausência das definições ou Declaração do Objeto e variáveis, como não está utilizando um Formulário, não usamos "txtoto.Text", e se não informar o que seria "foto.Picture" teremos erro pela falta de Declaração de definição desta Variável que neste caso é um "Objeto Image" e se entendi corretamente, você irá carregar uma única Imagem e não 50 (uma para cada controle) já que está utiliando "GetOpenFilename.
Se for isto mesmo, veja se a rotina abaixo atende :
Sub LoopImagens_2()
'Declaramos as Varíáves
Dim arqAAbrir
Dim txtfoto
'Declaramos os tipos de Objetos
Dim oleImg As OLEObject, foto As Image
'Alteramos a pasta padrão e Definimos qual Pasta queremos abrir
ChDir ThisWorkbook.Path & "Fotos"
arqAAbrir = Application.GetOpenFilename("Arquivos de imagens (*.jpg;*.bmp;*.wmf), *.txt,*.bmp,*.wmf")
If arqAAbrir <> False Then
txtfoto = LCase(arqAAbrir)
'Loop nos 50 Controles que estão com o nome padrão "Image + a Variável i referente a numeração"
For i = 1 To 50
'Definimos e informamos a que se referem estas Variáveis
Set oleImg = ActiveSheet.OLEObjects("Image" & i)
Set foto = oleImg.Object
'Carregamos a Foto em todos os controles
foto.Picture = LoadPicture(txtfoto)
foto.PictureSizeMode = fmPictureSizeModeStretch 'fmPictureSizeModeZoom
Next
End If
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 11/11/2016 7:40 am