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
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!
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
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.
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,