CONTAR IMAGENS EM PLANILHAS

PABLOMOREIRAGV 08/02/2011 17:56:59
#364731
Saudações amigos,


Tenho uma planilha com vários controles IMAGE inserido nela. Nesta mesma planilha fica um formulário

aberto em ShowModal com um Label que eu queria me informasse a quantidade de imagens que foram inseridas no Images

que estão na planilha. Então assim que eu fosse inserindo imagens nos controles o Label iria atualizando a quantidade de

imagens inseridas. Alguém tem idéia de como fazer isso? Desde já agradeço.


Obrigado
ONBASS 09/02/2011 12:51:20
#364827
Conta quantidade de imagens na planilha

  

Sub Botão4_Clique()

c = 0

For Each img In ActiveSheet.Pictures
c = c + 1
Next

MsgBox c

End Sub



PABLOMOREIRAGV 09/02/2011 13:22:52
#364836
DEKINHO,

Como disse as imagens são inseridas em controles Images que estão na planilha. Seria este código mesmo? Pois não estou conseguindo fazer com que o mesmo conte estas imagens. E eu queria que me desse esta informação em um label ou textbox que estão inseridos em um userfom. Desde já agradeço.


Obrigado
IRENKO 09/02/2011 14:58:56
#364860
Aproveitando a dica do Dekinho, segue exemplo:

Conta os objetos inseridos na planilha, incluindo o botão.
PABLOMOREIRAGV 09/02/2011 15:21:55
#364868
IRENKO,

Os controles Image[ô]s já estão inseridos na planilha. A idéia seria contar depois que os mesmos fossem sendo preenchidos com imagem. Tem como?
IRENKO 09/02/2011 15:23:48
#364870
Ou ainda:

Sub VerificaPictures()
Dim n As Long, shCount As Long
shCount = Plan1.Shapes.Count
If Not shCount > 0 Then Exit Sub

For n = 1 To shCount
With Plan1.Shapes(n)
If InStr(.Name, [Ô]Picture[Ô]) > 0 Then
MsgBox n
End If
End With
Next

End Sub

ai vc pode adaptar
PABLOMOREIRAGV 09/02/2011 16:31:14
#364886
Me desculpe IRENKO, mas tentei adaptar este último código postado por você e não estou conseguindo fazê-lo funcionar. Na verdade ele está contando o quê? Como faço para que o mesmo passe a contar o controle Image depois que o mesmo tiver preenchido com imagem? Essas informações de quantidades teriam que aparecer em um userform que fica aberto em showmodal na planilha.

Obrigado
ONBASS 10/02/2011 10:48:20
#364965
ainda na idéia do IRENKO, só n consegui pegar o source..

  

i = 0
For Each p In Shapes
n = InStr(p.Name, [Ô]Image[Ô])
If n > 0 Then
i = i + 1
End If
Next p

Label1 = [Ô]Itens localizados [Ô] & i
End Sub

IRENKO 10/02/2011 14:56:03
#364994
Pablo, consegui adaptar conforme o exemplo anexo. Não sei se é o q realmente vc quer, mas pode ser o caminho.

Ps. Com a ajuda do meu amigo LVFIOROT.
PABLOMOREIRAGV 10/02/2011 16:33:39
#365005
IRENKO tudo bem, cara infelizmente não estou conseguindo aprimorar o código postado por você. Seria exatamente como eu informei anteriormente na descrição.

Obrigado
MITSUEDA 10/02/2011 16:44:52
#365009
Resposta escolhida
Veja um exemplo:

Em um modulo cole a função abaixo:

Public Function ContarImagens() As Integer
Dim shtBdImg As Worksheet
Dim objShapes As OLEObjects
Dim objShape As OLEObject
Dim iPicture As IPictureDisp
Dim intCount As Integer
Set shtBdImg = ThisWorkbook.Sheets(Plan2.Name)
Set objShapes = shtBdImg.OLEObjects
For Each objShape In objShapes
Set iPicture = objShape.Object.Picture
If Not iPicture Is Nothing Then
intCount = intCount + 1
End If
Next
ContarImagens = intCount
Set objShapes = Nothing
Set objShape = Nothing
Set shtBdImg = Nothing
End Function

Ai no seu textbox você faz a chamada assim

TextBox1 = ContarImagens
Página 1 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas