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