Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Macro excel - Mostrar e ocultar objectos
13-03-2014, 18:51
Mensagem: #1
Macro excel - Mostrar e ocultar objectos
Alguém me pode ajudar com o seguinte problema:

Precisava de fazer aparecer ou desaparecer um objecto no Excel (Ex: Rectângulo, Circulo, triângulo), tendo em conta o valor de uma outra célula.

Resumindo, por exemplo, precisava que um rectângulo aparece-se caso a célula A1 = 1 e desaparece-se caso a célula A1 = 2.

Se alguém me poder ajudar ficaria muito agradecido.

Melhores cumprimentos

Obrigado 
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
13-03-2014, 20:05 (Esta mensagem foi modificada pela última vez a: 13-03-2014 22:08 por nioxys.)
Mensagem: #2
RE: Macro excel - Mostrar e ocultar objectos
Olá Smile

Colocas a forma que tu queres, utilizando o teu exemplo, um rectângulo. 
Seleccionas esse rectângulo e na caixa de texto logo atrás da barra de formulas vai aparecer o nome dessa forma, Rectângulo 1 por exemplo. Clicas sobre essa caixa de texto e alteras o nome para Rect (apenas para não usar-mos acentos) pressionas enter.

De seguida abres o VBA, seleccionas o procedimento Worksheet e o evento Change, depois basta "brincares" com o seguinte,


Código:
ActiveSheet.Shapes("Rect").Visible = True

Continuando com o teu exemplo,


Código:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim cel As integer

cel = Range("A1").Value

Select Case cel

Case 1

ActiveSheet.Shapes("Rect").Visible = True

Case 2

ActiveSheet.Shapes("Rect").Visible = False

End Select

End Sub

Quando a célula A1 é igual a 1 o rectângulo é visível, caso o valor mude para 2 o rectângulo deixa de estar visível.


De qualquer forma deixo aqui um ficheiro com o exemplo,

Ocultar Objecto - Download

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
13-03-2014, 22:27 (Esta mensagem foi modificada pela última vez a: 13-03-2014 22:47 por 150max.)
Mensagem: #3
RE: Macro excel - Mostrar e ocultar objectos
Muito obrigado mais uma vez, visto que já é a segunda vez que me ajudas aqui !

Sem duvida que faz aquilo que eu apontei, porém não resolveu o meu problema, visto que eu pensava que iria-me desenrascar com o que expliquei!

Se tiveres disponibilidade, no link a baixo, tem um exemplo do meu problema !



De qualquer forma, muito obrigado mais uma vez !!!


https://www.dropbox.com/s/48zk5nbjzd6uph5/Duvida.xlsx
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
13-03-2014, 23:33 (Esta mensagem foi modificada pela última vez a: 14-03-2014 00:08 por nioxys.)
Mensagem: #4
RE: Macro excel - Mostrar e ocultar objectos
Não sabia que tinhas uma Combobox.

É praticamente a mesma coisa, tens apenas de associar uma macro a essa combobox e alterar a forma como "lês" o valor. E desta vez não vamos usar o evento change da folha mas sim o evento change da própria combo (num módulo).

No primeiro exemplo fui buscar directamente o valor à célula, desta vez vamos buscá-lo à combobox,


Código:
cel = Worksheets("Folha1").Shapes("combo1").ControlFormat.Value

O restante código é igual, apenas acrescentei o outro rectângulo. 

O código completo é o seguinte,


Código:
Sub combo1_Alteração()
Dim cel As Integer

cel = Worksheets("Folha1").Shapes("combo1").ControlFormat.Value

Select Case cel

Case 1

ActiveSheet.Shapes("Rect1").Visible = True
ActiveSheet.Shapes("Rect2").Visible = False

Case 2

ActiveSheet.Shapes("Rect1").Visible = False
ActiveSheet.Shapes("Rect2").Visible = True

End Select

End Sub


Desta forma trabalhamos directamente com a combobox, não é necessário criar um link entre uma célula e a combo, apenas se no teu caso for necessário mostrar o 1 e o 2.

Deixo aqui os dois exemplos, com e sem célula associada.

Com célula associada,

Rectângulos - Download

Sem célula associada,

Rectângulos_2 - Download


Acho que era isto que querias, se não for avisa. Wink

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
14-03-2014, 00:09
Mensagem: #5
RE: Macro excel - Mostrar e ocultar objectos
Perfeito!!!
Era exactamente isto que eu queria.
Eu pensava que com o primeiro código conseguia ler o resultado da célula de referencia da combobox, mas aparentemente enganei-me.

De qualquer forma, problema resolvido.

Mais uma vez muito obrigado pelas varias ajudas que me tens dado!!!
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
14-03-2014, 00:11 (Esta mensagem foi modificada pela última vez a: 14-03-2014 00:12 por nioxys.)
Mensagem: #6
RE: Macro excel - Mostrar e ocultar objectos
De nada. Smile

“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 4 Visitante(s)