Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
Por ThiagoAlberg
#63104
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
Por osvaldomp
#63119
#
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
ThiagoAlberg agradeceu por isso
Por osvaldomp
#63124
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.
#63126
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.
Por osvaldomp
#63130
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord