oi gente denovo, recentemente eu havia pedido ajuda na alteracao no codigo de uma macro que o klarc28 ajudou, quando eu fiz os testes iniciais deu tudo ok.
mas agora depois que eu terminei de por todos os codigos nas colunas quando aperto o botao "lançar pontos" não esta mais indo. ele buga. se possivel alguem me disser o porque do erro possa me ajudar.
no caso o codigo copia as as colunas
Set sRgColunas = ShtCONSOLIDADO.Range("C" & sRow & ", I" & sRow & ",M" & sRow & ", O" & sRow & ",R" & sRow & ", T" & sRow & ",V" & sRow)
e cola cada uma em sua planilha separada, só irá copiar valores diferentes de zero podendo ser negativo ou positivo de cada coluna quando houver dados.
Sub Copy_Consolidado()
Dim Linha As Long
Dim sLinSheets As Long
Dim sRG As Range
Dim sCodigo
Dim sRow As Long
Dim sSht As Worksheet
Dim ShtCONSOLIDADO As Worksheet
Dim sRgColunas
Dim sRotulo
Dim iLinRotulo
Dim Col As String
Dim wb As Workbook
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 & ",R" & sRow & ", T" & sRow & ",V" & sRow)
For Each i In sRgColunas
iLinRotulo = 2 'Linha do Cabeçalho
'Verificamos se o avlor é nulo
If i.Value <> "" 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 L -DATA ENVIO
'Se não for, é só ajustar
ShtCONSOLIDADO.Range("AA" & sRow).Copy Destination:=sSht.Range("C" & sLinSheets)
End If
Next i
Next
End Sub
o excel diz que o erro esta na
sSht.Range("B" & sLinSheets).PasteSpecial (xlPasteValues)
notei também que o codigo esta copiando celulas que estão com o valor ZERO que não era pra copiar.
as colunas possuem varios formulas =SE que gera a pontucao a partir dos criterios pra copiar e jogar em cada planilha nao consegui por nenhum anexo porque informa que O arquivo é muito grande. O tamanho máximo permitido é de 50 KiB. . ai no consegui mandar nem print.
Postado : 07/04/2018 1:43 pm