formatação condicio...
 
Notifications
Clear all

formatação condicional mudando de ordem

4 Posts
1 Usuários
0 Reactions
1,054 Visualizações
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

Estou com um problema com o excel e formatações personalizadas
para evitar de ser criadas formatações irregulares criei uma solução

crio copia de todas as formatações personalizadas em uma celula a parte fora da range de atuação
quando executo ação que pode corromper elas eu desformato

Sub Desformata()    'apaga formatação condicional
    If Limit = 1 Then Exit Sub
    ndi = Range("c28").Value2
    ndf = Range("c29").Value2
    Range(ndi, ndf).FormatConditions.Delete
End Sub

logo depois da execução da macro que modifica a planilha tem a chamada da macro que refaz a formatação condicional

Sub Reformata()
    If Limit = 1 Then Exit Sub
    Inicio
    NomePLan = "teste"

    For C = 8 To 1 Step -1
        dhi = Cells(28, C).Value2
        If dhi <> "" Then
            def = Cells(29, C).Value2
            Sheets(NomePLan).Cells(28, C).Copy     ' pega formatação 
            Range(dhi).PasteSpecial xlPasteFormats
            hg = Range(dhi).FormatConditions.Count
            For N = hg To 1 Step -1
                Range(dhi).FormatConditions(N).ModifyAppliesToRange Range(dhi, def)
            Next
        End If
    Next

End Sub

o funcionamento é de 95%
o fato é
ele muda a ordem das formatações
Sheets(NomePLan).Cells(28, C).Copy'
como pode ver eu peguei de outra plan para colar na plan atual
esse foi um teste pq seria pego da plan atual por causa das formulas que acompanham a mudança na plan

eu não entendi o pq a mudança de ordem na plan de onde pegou
sendo que na primeira vez vai tudo certo, mas na segunda vez como a ordem foi mudada já fica bagunçada

Alguem teria uma solução, dica ou seja oq for para o caso ?

 
Postado : 07/07/2015 2:59 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

parece que não é na macro
o problema está na modificação da planilha

no ato de adicionar ou excluir colunas as formulas das formatações condicionais se auto ajustam
mas como a range de atuação tbm muda
o excel parece que exclui as antigas e cria uma nova
e nisso muda a ordem delas

parece existir uma memoria de criação
isso falo pq as que eu criei por ultimo e aloquei para a ordem especifica, pulam para o inicio independente do tipo
já tentei clonar a aba e realocar e colar de volta para a plan originaria
mas parece que a solução seria excluir todas as que vem antes e recriar elas, mas são muitas

penso em criar uma macro e userform de controle para criar as formatações dinamicamente,
mas como é algo complicado estou deixando para uma recompilação de projeto

agora fiquei sem saber oq fazer com isso... :(

 
Postado : 07/07/2015 4:47 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

estou ficando de sa** cheio disso
tentei Range("C28:G28").FormatConditions(x).SetLastPriority
para fixar as posições

tentei fixar a macro que reaplica a formatação
mas com cada tipo de interação da planilha as posições mudam de maneira diferente

se eu não uso SetLastPriority para ajustar as posições sempre fica do mesmo jeito
mas depois cada hora fica de um jeito dependendo se exclui ou se adiciona colunas

 
Postado : 07/07/2015 6:21 pm
(@edcronos)
Posts: 1006
Noble Member
Topic starter
 

não foi a melhor forma, mas de algum modo consegui ajustar

clonei a aba e subdividi as formatações por celulas de acordo com a ordem

mas por alguma razão não pude deixar na ordem correta
se reformatar do modo que está sem mudar a planilha fica tudo bagunçado
mas se adicionar ou excluir colunas, vai para o lugar
depois eu colei a range onde tem as formatações na aba principal

de algum modo deu certo,
não é nada logico,
mas até achar uma solução melhor ou refazer as formatações por macros vai ficar assim

 
Postado : 07/07/2015 8:30 pm