Página 1 de 1

Código Para Formatação (% e Nº)

Enviado: 22 Mar 2021 às 13:52
por ThiagoAlberg
Amigos, boa tarde!

Não conheço nada de VBA, porém vou explicar minha necessidade e agradeço se alguém conseguir me ajudar.

Quando na célula A1 for o número 1 quero que o range C19:O24 seja formatado como número (Ex.: 1.200), agora quando na célula A1 for o número 2 ou 3, quero que o range C19:O24 seja formatado como percentual (Ex.: 32,5%).

Tanto a célula A1 e os ranges estão na mesma aba, com nome de "Base Gráfico".

Estou anexando uma foto para tentar ilustrar.

Muito obrigado!
Abs.
Imagem

Re: Código Para Formatação (% e Nº)

Enviado: 22 Mar 2021 às 17:30
por osvaldomp
#
Instale uma cópia do código abaixo no módulo da planilha Base Gráfico, assim:
1. copie o código daqui
2. clique com o direito na guia daquela planilha e escolha 'Exibir Código'
3. cole o código na janela em branco que vai se abrir
4. feito! 'Alt+Q' para retornar para a planilha e testar
Código: Selecionar todos
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address <> "$A$1" Then Exit Sub
 If Target.Value = 1 Then
  Range("C19:O24").NumberFormat = "#,##0.00"
 ElseIf Target.Value < 4 Then
  Range("C19:O24").NumberFormat = "0.00%"
 End If
End Sub

Re: Código Para Formatação (% e Nº)

Enviado: 22 Mar 2021 às 17:59
por ThiagoAlberg
Perfeito meu amigo, obrigado pela ajuda, me ajudou bastante.
Abraço.

Re: Código Para Formatação (% e Nº)

Enviado: 22 Mar 2021 às 20:12
por ThiagoAlberg
Osvaldo, acabou não funcionando como pensei....estou anexando o arquivo, veja por favor se fiz algo de errado?
Obrigado.
Abs.

Re: Código Para Formatação (% e Nº)

Enviado: 22 Mar 2021 às 20:34
por osvaldomp
Antes você não informou que o intervalo C19:O24 contém fórmulas.

Está funcionando conforme o solicitado.

Se você quer algo diferente então você precisa explicar com exatidão o que você quer e principalmente fornecer alguns exemplos do resultado desejado antes e depois de colocar 1 em A1, e também antes e depois de colocar 2 ou 3 em A1.

Re: Código Para Formatação (% e Nº)

Enviado: 22 Mar 2021 às 21:17
por ThiagoAlberg
Perfeito Osvaldo, desculpa. Achei que não teria interferência no código e quis ser mais simplista na história.

Vamos lá, eu anexei a planilha na resposta anterior, na verdade inclui 3 botões que são controles de formulários e vinculei na célula A1 (dessa maneira eu tenho na A1 o número 1, 2 ou 3, dependendo da seleção que fizer).

Existem fórmulas no intervalo C19:O24 que retornam números baseados na A1 (1, 2 ou 3).

Na opção Absoluto (QTD) que seria o número 1, gostaria que a formatação do range fosse em Nº (Ex.: 1.238), e na opção % Evolução e % Representatividade que seriam os números 2 e 3 respectivamente, gostaria de percentual (Ex.: 37,75%). Dessa maneira consigo deixar o gráfico dinâmico e com a formatação correta.

Uma vez mais peço desculpas e agradeço se puder me ajudar novamente.
Abs.

Re: Código Para Formatação (% e Nº)

Enviado: 23 Mar 2021 às 09:40
por osvaldomp
Olá, Thiago.
Veja se este atende.
Instale uma cópia no lugar do código anterior.
Código: Selecionar todos
Private Sub Worksheet_Calculate()
 Application.ScreenUpdating = False
 If [A1] = 1 Then Sheets("Base Gráficos & Tabelas").[C8:O13].Copy Else Sheets("Base Gráficos & Tabelas").[C30:O35].Copy
 [C19].PasteSpecial xlFormats: Application.CutCopyMode = False: [B18].Activate
End Sub