oi gente, eu abri dois topicos que eu marquei como resolvido do problema sendo que agor finalizando a planilha vi que a celula E3 que tem a formula =soma(B:B) não ésta somando os valores que a macro copia, pesquisando na internet verifiquei que é porque o numero esta armzenado como texto. eu corrijo na celula coverto pra numero aí ele soma, sendo que eu tenho que ficar fazendo isso manualmente com todos os numeros copiados porque acredito que o problema já vem do código da macro. mesmo que eu ja deixe a celula em branco formatado como numero na hora que eu aperto o botao ele fica com o mesmo erro. olhei na internet obre macros com esse tipo de problema encontrei um codigo mas nao consegui adaptar e não consegui ver se ele realmente iria servir, deu erro quando coloquei.
aqui esta o codigo que faz a rotina de copiar e colar os numeros:
b Copy_Consolidado()
Dim Linha As Long, sLinSheets As Long, sRow As Long
Dim iLinRotulo As Integer
Dim Col As String, sRotulo As String
Dim ShtCONSOLIDADO As Worksheet, sSht As Worksheet, wb As Workbook, sRG As Range, sRgColunas As Range
Dim sCodigo, x, i
Application.ScreenUpdating = False
Set wb = ThisWorkbook
Set ShtCONSOLIDADO = wb.Sheets("CONSOLIDADO")
Linha = ShtCONSOLIDADO.Range("A2").End(xlDown).Row
Set sRG = ShtCONSOLIDADO.Range("A4:" & "A" & Linha)
For Each x In sRG
sRow = x.Row
Set sRgColunas = ShtCONSOLIDADO.Range("C" & sRow & ", I" & sRow & ",M" & sRow & ", O" & sRow & ",AE" & sRow & ", AB" & sRow & ",R" & sRow & ", T" & sRow & ",V" & sRow)
For Each i In sRgColunas
iLinRotulo = 2 'Linha do Cabeçalho
'Verificamos se o valor é nulo
If i.Value <> "" And i.Value > 0 Or i.Value < 0 Then
'Montamos a Letra das Colunas
Col = Split(i.Address(1, 0), "$")(0)
'Linha dos Rotulos (Cabeçalho)
sRotulo = Range(Col & iLinRotulo).Address(0, 0)
'Capturamos o codigo
sCodigo = x.Value
sRow = i.Row
'Montamos o nome da aba como o sCodigo
Set sSht = wb.Sheets(CStr(sCodigo))
sLinSheets = sSht.Range("A2").End(xlDown).Row + 1
'Copiamos para as abas
ShtCONSOLIDADO.Range(sRotulo).Copy
sSht.Range("A" & sLinSheets).PasteSpecial (xlPasteValues)
ShtCONSOLIDADO.Range(i.Address).Copy
sSht.Range("B" & sLinSheets).PasteSpecial (xlPasteValues)
'Na instrução abaixo estou supondo que a data que comentou seria da Coluna AA -DATA ENVIO
'Se não for, é só ajustar
ShtCONSOLIDADO.Range("AA" & sRow).Copy
sSht.Range("C" & sLinSheets).PasteSpecial (xlPasteValues)
End If
Next i
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
esse foi o codigo que vi que parece converter para numero ja com minha tentativa de adaptar.
'Ajuste o nome de sua aba e a coluna onde estão os valores, o Numero 1 (Cells(Rows.Count, 1) se refere a coluna A
LastRow = Sheets("clube").Cells(Rows.Count, 1).End(xlUp).Row
'Inicio em A2
Set rngCelula = Range("C" & sRow & ", I" & sRow & ",M" & sRow & ", O" & sRow & ",AE" & sRow & ", AB" & sRow & ",R" & sRow & ", T" & sRow & ",V" & lastRow)
With rngCelula
.NumberFormat = "General"
.FormulaLocal = rngCelula.Value
End With
End Sub
segue o drive da planilha:
https://drive.google.com/open?id=18uK1p ... w6BCCAz4xe
obrigado gente!
Postado : 10/04/2018 10:42 am