Página 1 de 1
Como exibir imagens aleatórias
Enviado: 16 Ago 2019 às 18:56
por Jore
Olá pessoal,
Outro dia estava aqui pedindo a ajuda de vocês para fazer aparecer uma imagem de tempos em tempos.
Agora pensando em incrementar ainda mais a planilha, eu gostaria de saber se tem como eu mostrar imagens de forma aleatória.
Abaixo segue o meu projeto com uma imagem que aparece a cada 20 segundos e tem mais dois forms com uma imagem cada. Gostaria que fazer aparecer alternando entre as imagens dos forms.
Obrigado e bom final de semana à todos!
Re: Como exibir imagens aleatórias
Enviado: 21 Ago 2019 às 10:10
por babdallas
Não esqueça de mudar para os caminhos corretos das imagens na macro.
Código: Selecionar todosPublic Sub ChamarForm()
Dim lngNumImage As Long
Dim vrtImagens() As Variant
'Altere aqui o caminho das imagens
vrtImagens = Array("C:\Temp\Imagem1.bmp", "C:\Temp\Imagem2.bmp", "C:\Temp\Imagem3.bmp")
'Nº aleatório entre 1 e nº de imagens
lngNumImage = Application.WorksheetFunction.RandBetween(1, UBound(vrtImagens))
'O código abaixo chama o form de 20 em 20 segundos
UserForm1.Image1.Picture = LoadPicture(vrtImagens(lngNumImage - 1))
UserForm1.Show ' Mude aqui o nome do seu UserForm
Application.OnTime Now + TimeValue("00:00:20"), "Chamarform"
End Sub
Como exibir imagens aleatórias
Enviado: 25 Ago 2019 às 19:01
por Jore
Olá babdallas,
Muito Obrigado!
A imagem que fica por último no caminho não aparece nunca!
Fiz uma mudança na ordem dos nomes e a que ficou com o nome por último também não apareceu.
Coloquei uma quarta imagem e a que ficou em quarto também não apareceu.
E se eu fechar a planilha mas deixar o Excel aberto o programa continua chamando as imagens.
Pode me ajudar!
Re: Como exibir imagens aleatórias
Enviado: 26 Ago 2019 às 03:30
por babdallas
Corrigi este trecho
Código: Selecionar todos'Nº aleatório entre 1 e nº de imagens
lngNumImage = Application.WorksheetFunction.RandBetween(1, UBound(vrtImagens))
Para
Código: Selecionar todos'Nº aleatório entre 1 e nº de imagens
lngNumImage = Application.WorksheetFunction.RandBetween(1, UBound(vrtImagens)+1)
Espero que agora funcione adequadamente.
Como exibir imagens aleatórias
Enviado: 02 Set 2019 às 14:21
por Jore
Olá babdallas,
Primeiro me desculpe por demorar em te responder.
Muito Obrigado, você resolveu o problema da última imagem que não aparecia!
Agora só falta resolver o problema que faz o macro continuar rodando mesmo que eu feche a planilha.
Se eu fechar a planilha mas deixar o Excel aberto o programa continua chamando as imagens.
Pode me ajudar!
Re: Como exibir imagens aleatórias
Enviado: 02 Set 2019 às 15:16
por babdallas
Veja agora. Mude o caminho das figuras.