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 |
|||
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á
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) 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 |
|||
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 |
|||
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() 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. “A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper |
|||
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!!! |
|||
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.
“A neutron walks into a bar and asks how much for a drink. The bartender replies, ‘For you, no charge.’” - Sheldon Cooper |
|||
« Mais Antigo | Mais Recente »
|
Utilizadores a ver este tópico: 2 Visitante(s)