Notifications
Clear all

Nome da Aba = Nome da Célula - Atualização Automática

4 Posts
2 Usuários
0 Reactions
1,397 Visualizações
(@ricanero)
Posts: 41
Eminent Member
Topic starter
 

Boa Tarde para todos, peço desculpas se estou repetindo um tópico, mas procurei bastante e nao encontrei.

Na minha planilha tenho mais de 30 abas, e cada aba deve receber o nome de uma célula. Eu uso o códugo abaixo,mas para que atualize eu tenho que entrar na célula e dar Enter.

É possível automatizar esse processo, ou seja, toda vez que alterar o valor da célula o nome da aba altera automaticante, sem ter que ir atpe aquela aba, e entrar na célula.

Desde já, Obrigado

Ricardo

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count > 1 Then Exit Sub

If Target.Address <> "$A$2" Or Target.Value = "" Then Exit Sub
ActiveSheet.Name = [A2]
End Sub

 
Postado : 10/12/2021 12:53 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

@ricanero,

 

Boa tarde!

 

Uma coisa que não entendi: como é que você vai alterar o valor da célula sem ir até a célula na aba e fazer a alteração? Como se dá esse processo de alteração da célula?

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 10/12/2021 3:12 pm
(@ricanero)
Posts: 41
Eminent Member
Topic starter
 

@wagner-morel-vidal-nobre 

o Valor destas células são variáveis e proveninetes de fórmulas, e nessas fórmulas estão valores variáeis

Espero ter conseguido me expressar

 
Postado : 10/12/2021 4:32 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Nesse caso, no seu código, você precisa informar qual é a célula que vai disparar o evento Change para que as outras células (as que têm as fórmulas) sejam atualizadas.

 

Exemplo: Digamos que você faz uma alteração na célula X2 e que essa alteração provoca a alteração da fórmula que está em A2. O Código que deverá ser utilizado no evento Change deve ser este:

If Target.AddressLocal(false, false) = "X2" Then
        'código que faz alguma coisa quando a condição for verdadeira
End If

O fato é que não há como você não entrar em uma determinada célula para fazer alterações (e no caso disparar um evento Change) se você não entrar na célula, fazer a edição da mesma e teclar ENTER.

 

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 14/12/2021 12:11 pm