Página 1 de 1

Trabalhando com formas

Enviado: 25 Mai 2017 às 15:08
por carlosazevedo2
Boa tarde pessoal,

Estou com uma lista suspensa, que tem alguns meses, e me retornam alguns dados. Só que para alguns dos meses não temos dados, então para esses casos eu gostaria de cobrir o campo com uma forma (ou imagem).
Resumindo:
Nos meses que tem dados, é para mostrar na tabela
Nos meses que não tem dados é para mostrar a forma (ou imagem) no lugar dos dados.

Consegui fazer com que funcione, mas não perfeitamente:

- Se selecionar 2 vezes seguidas dois meses que não tem dados, ele duplica a forma (ou imagem).
- Se selecionar um mês que não tem dados e depois em outro que tem dados, ele não apaga corretamente a forma (ou imagem), para mostrar com os valores.

Segue o arquivo para melhor entendimento.

Obrigado.

Re: Trabalhando com formas

Enviado: 25 Mai 2017 às 16:51
por FelipeMGarcia
Seria isso que deseja?

Trabalhando com formas

Enviado: 25 Mai 2017 às 17:01
por carlosazevedo2
Olá Felipe, ainda não. Repare que se vc marcar Abril/16 ele coloca a imagem de "Sem dados", mas se vc em seguida marcar Março/16 ele vai colocar outra imagem por cima. Eu queria que ele mantivesse um só. E se em seguida vc marcar Novembro/17 ele nao apaga essas imagens de "Sem dados". Conseguiu captar a idéia? rs

Trabalhando com formas

Enviado: 25 Mai 2017 às 17:02
por FelipeMGarcia
Eu não coloquei macro, se tirar a imagem que colocou, vai ver que fiz uma formatação diferente.

Eu entendi o que quer fazer, mas não é melhor caso não tenha dados, retornar a célula em branco?

Trabalhando com formas

Enviado: 25 Mai 2017 às 17:41
por carlosazevedo2
Infelizmente não pois vou aplicar esta macro em diversas planilhas de tamanhos diferentes, e que já possuem várias imagens nelas, então eu teria que apenas colocar aquela imagem por cima mesmo. :(

Re: Trabalhando com formas

Enviado: 25 Mai 2017 às 20:45
por osvaldomp
Código: Selecionar todos
Sub COPIA_TELA()
  On Error Resume Next
  ActiveSheet.Shapes("semdados").Delete
  If Range("D1") < 9 Then
   Sheets("Lista").Shapes("semdados").Copy
   Sheets("Dados").Range("I6").PasteSpecial
   Selection.Name = "semdados"
  End If
End Sub

Trabalhando com formas

Enviado: 26 Mai 2017 às 06:56
por JCabral
A proposta do Osvaldo funciona direitinho.

Jorge Cabral