Notifications
Clear all

Automatizar UDF

16 Posts
3 Usuários
0 Reactions
2,006 Visualizações
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Bom dia
É possivel implementar melhorias nessas Udf´s. :roll:

 
Postado : 14/04/2014 8:15 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Cara, adiciona isso em "Plan1 (Plan1)"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

Depois de "colorir" a célula, seleciona outra célula que ele irá recalcular.

Qualquer coisa da o grito.
Abraço

 
Postado : 14/04/2014 8:40 am
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Fiz assim:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
-------------------------------------------------------------------------------------------
Function GetInteriorColor(ByVal Target As Range) As Long
GetInteriorColor = Target.Interior.ColorIndex
End Function

Mas não aconteceu o esperado. Tentei o F9 e... nada
Fiz errado os procedimentos?

 
Postado : 14/04/2014 9:06 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde dimorais,

Segue anexo.

Depois de "colorir" a célula, seleciona outra célula que ele irá recalcular.

Qualquer coisa da o grito.
Abraço

 
Postado : 14/04/2014 10:08 am
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Acho que vou gritar muito ainda. Fiz o recomendado acima e... nada. A lista tem cerca de 300 linhas (1 célula/linha) alternando cores, ora é preto ora é amarelo. Imaginei que sempre que a célula mudasse de cor os valores acompanhariam, assim como acontece quando se usa formulas.

 
Postado : 14/04/2014 11:56 am
(@gtsalikis)
Posts: 2373
Noble Member
 

se as células mudam e valor a toda hora, isso é formatação condicional?

 
Postado : 14/04/2014 12:07 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

gtsalikis, uma pequena derrapada na informação anterior. O valor da célula é fixo, a cor é que muda. :D

 
Postado : 14/04/2014 2:35 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

dimorais,

dá uma olhada na solução proposta pelo mandrix nesse tópico:

viewtopic.php?f=5&t=11218

 
Postado : 14/04/2014 2:42 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Boa noite
gtsalikis, baixei o projeto do Mandrix mas confesso que não consegui encaixar a minha necessidade na solução proposta. Talvez se o próprio quisesse adequar a solução. :D

 
Postado : 14/04/2014 6:59 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

gtsalikis, uma pequena derrapada na informação anterior. O valor da célula é fixo, a cor é que muda. :D

Só para procurar entender.
Se os valores das celulas são fixos, como é alterada as cores das celulas ? Manualmente ? Formatação Condicional ? Se por condicional, devemos ter alguma formula para validar ou formatar de acordo com alguma condição, qual seria ?

[]s

 
Postado : 14/04/2014 8:09 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

dimorais.

Colorindo (pincel) ou mudando a cor + F9 acho que vc consegue.

Me avise. Sem macro. Excel .xls.

Abs,

 
Postado : 14/04/2014 10:41 pm
(@dimorais)
Posts: 431
Honorable Member
Topic starter
 

Bom dia
Mauro, valores são fixos e a mudança de cor ocorre por vba. :D

 
Postado : 15/04/2014 6:39 am
(@gtsalikis)
Posts: 2373
Noble Member
 

dimorais, se a mudança da cor ocorre por vba, vc deveria fazer a mudança do calculo tb por vba, no mesmo código.

 
Postado : 15/04/2014 6:59 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A "simples" alteração de cor de fundo de uma célula, não gera, no Excel, nenhum estimulo que permita uma função "rodar" corretamente; será necessário acoplar essa função a um estimulo reconhecido(Selection Change, Activate , F9, Deactivate etc.. ).
Também como tardiamente foi dito que as cores são alteradas por VBA, e essa alteração não gera estimulo também, sugiro acrescentar na rotina de alteração uma linha no final da mesma, que "obriga" o recalculo da planilha, assim a UDF deverá funcionar

 
Postado : 15/04/2014 7:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia
Mauro, valores são fixos e a mudança de cor ocorre por vba. :D

Dimorais, se a cor ocorre por VBA, e as colunas contem a formula, você pode fazer o que o gtsalikis disse:
dimorais, se a mudança da cor ocorre por vba, vc deveria fazer a mudança do calculo tb por vba, no mesmo código.

Ou mesmo pelas dicas anteriores e a do Reinaldo, forçar o calculo :
Só para ilustrar, se eu altero a cor de uma celula via VBA utilizando a rotina :

Sub Macro1()
    
    With Range("A6").Interior
        .ColorIndex = 6
    End With
    
    Calculate 'Força o recalculo, com isto as formulas são atualizadas.
    
End Sub

Ou não estou entendendo ou você não esta aplicando corretamente.

[]s

 
Postado : 15/04/2014 9:01 am
Página 1 / 2