Célula com fórmula ...
 
Notifications
Clear all

Célula com fórmula de string criada em loop

5 Posts
4 Usuários
0 Reactions
1,092 Visualizações
(@lgpoli)
Posts: 2
New Member
Topic starter
 

Senhores,

Estou com problemas na programa abaixo.

Criei um macro que irá gerar relatórios para cada filial de uma empresa. Cada relatório será gerado em uma aba e depois haverá uma aba de consolidação que somará a célula C5 de cada aba. Eu estaria feliz se fosse apenas o valor. O fato é que são várias celulas que preciso copiar (não apenas a C5) e não são seguidas. Já criei uma macro que copia a formula da célula C5 e nas células que preciso.

O problema é que a macro abaixo retorna o valor da string e não a fórmula. Para eu executar a fórmula é preciso clicar no texto da célula e pressionar enter, o que atrapalha todo o trabalho. Já fiz várias alterações, adicionando um IF dentro do loop i, começando a variável Concat com =SE em vez de +SE, e o problema persiste.

Alguém consegue me ajudar?

Sub Automatico()

    Dim ColMax As Integer
    Dim Concat As String
    Dim Unidade As String
    Dim Vazio As String
                
    Vazio = "<>"""""
    ColMax = Worksheets("Premissas").Range("H2:BG2").Cells.SpecialCells(xlCellTypeConstants).Count - 1
    ColInicio = 8
    ColDestino = 6
    
    Application.ScreenUpdating = False

For i = ColInicio To ColInicio + ColDestino - 1
    
    Columns(i).Copy
    Columns(ColDestino).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Call GeraRelat
    Unidade = Sheets("Premissas").Range("F2").Text
    Concat = Concat & "+SE('" & Unidade & "'!C5" & Vazio & ";'" & Unidade & "'!C5;0)"

Next i
    
    Worksheets("Global").Range("C5").Formula = Concat
 
Postado : 09/08/2017 3:07 pm
(@skulden)
Posts: 170
Estimable Member
 

Tente algo assim:


Worksheets("Global").Range("C5").TextToColumns

Fiz um código que puxa a tabela do IPCA da internet e as datas voltavam como texto, isso me ajudou a resolver.

Abraços.

Se a resposta lhe foi útil, clique no joinha!

 
Postado : 10/08/2017 6:22 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

lgpoli,

Bom dia!

Solicitamos, ao postar códigos VBA aqui no fórum, utilizar a TAG CODE existente no início da caixa de mensagens.

Quanto a sua dúvida, por gentileza, anexe, aqui mesmo no fórum, um arquivo exemplo compactado com .ZIP e esclareça melhor a sua dúvida.

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/08/2017 6:26 am
(@lgpoli)
Posts: 2
New Member
Topic starter
 

A grande dificuldade está em converter uma string em fórmula.
Eu preciso incluir a formula na célula, não seu valor, pois há uma outra função de copiar fórmula e colar em diversas células em linhas e colunas distintas.

 
Postado : 11/08/2017 12:08 pm
brunoxro
(@brunoxro)
Posts: 698
Honorable Member
 

Boa tarde,

1º Verifique se a opção de Cálculo Automático está ativada. Vá em: Fórmulas -> Opções de Cálculo - Automático.

2º Como colocado pelo colega Wagner, anexe uma planilha de exemplo. Assim fica mais fácil tentar ajudar.

att,

 
Postado : 11/08/2017 12:15 pm