Página 1 de 1
Incluir Linhas de Parcelamento Excluindo a Linha Original
Enviado: 04 Mai 2020 às 21:25
por gregvides
Olá Pessoal...
Faz dias que quebro a cabeça com essa planilha... Preciso substituir automaticamente cada linha da planilha de controle de transações de cartões parcelados realizadas (que no caso representa o total) por suas parcelas.
Ou seja, quando na coluna "Total de Parcelas" o valor for maior do que 1 (a Getnet apresenta a venda a crédito sem ser parcelado como 1 parcela, a Cielo apresenta como 0 parcela), a linha daquela transação precisa ser excluída e no local devem ser incluídas as parcelas respectivas.
Não sei se consegui me fazer entender. Segue em anexo a planilha que uso como base e que preciso incluir a macro para substituir todas as transações que sejam parceladas por suas respectivas parcelas e datas de pagamento.
Agradeço antecipadamente por qualquer ajuda.
Gregory
Re: Incluir Linhas de Parcelamento Excluindo a Linha Origina
Enviado: 04 Mai 2020 às 22:54
por osvaldomp
gregvides escreveu:
Preciso substituir automaticamente cada linha ...
Você quer substituir todos os dados da venda e ficar sem o histórico, é isso?
... a linha daquela transação precisa ser excluída e no local devem ser incluídas as parcelas respectivas.
Em quais colunas você quer as parcelas ?
Como calcular o valor das parcelas ?
Não sei se consegui me fazer entender.
Seria útil se você colocasse os resultados desejados na planilha com as necessárias explicações.
Incluir Linhas de Parcelamento Excluindo a Linha Original
Enviado: 04 Mai 2020 às 23:21
por gregvides
Olá Osvaldo, Boa noite!
1) Sim, quando for uma transação parcelada, quero que a linha relativa a essa transação seja substituída por tantas transações quantas forem as parcelas.
2) Na planilha há uma coluna que informa quantas parcelas são, e, no caso de ser 2 ou 3, para se obter o valor de cada parcela seria apenas dividir o valor da transação total pelo total de parcelas.
3) Estou anexando duas planilhas, uma da forma que eu tenho os dados, e a outro com a forma que eu espero que fique após o tratamento pelo macro (vou marcar de vermelho o que deveria ser excluído e de amarelo o que deveria ser incluído).
Muito obrigado por sua atenção e ajuda!!!
Gregory
Re: Incluir Linhas de Parcelamento Excluindo a Linha Origina
Enviado: 05 Mai 2020 às 11:15
por osvaldomp
Olá, Gregory.
Veja se aproveita.
O resultado do código abaixo apresenta divergências do seu resultado nas colunas F:G do segundo registro.
Funciona com qualquer quantidade de registros e de parcelas.
Código: Selecionar todosSub InsereParcelas()
Dim LR As Long, k As Long, x As Long
LR = Cells(Rows.Count, 1).End(3).Row
Application.ScreenUpdating = False
For k = LR To 2 Step -1
If Cells(k, 5) > 1 Then
x = Cells(k, 5)
Rows(k + 1).Resize(x - 1).EntireRow.Insert
Cells(k, 5).Resize(x) = 1
Cells(k, 6).Resize(x) = Cells(k, 6) / x
Cells(k, 7).Resize(x) = Cells(k, 7) / x
End If
Next k
LR = Cells(Rows.Count, 5).End(3).Row
Range("A2:A" & LR).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=EDATE(R[-1]C,1)"
Range("B2:B" & LR).Resize(, 3).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Range("A2:D" & LR).Value = Range("A2:D" & LR).Value
Application.ScreenUpdating = True
End Sub
Incluir Linhas de Parcelamento Excluindo a Linha Original
Enviado: 05 Mai 2020 às 15:20
por gregvides
Olá Osvaldo!!!
Muito obrigado! É exatamente isso que eu precisava!
Só mais uma dúvida... Quando não há nenhuma transação parcelada (ou seja, quando há apenas transações com 1 ou 0) a macro retorna o erro "Erro em tempo de execução 1004; Nenhuma célula foi encontrada". Tem como alterar o código para, em não havendo nenhuma transação a ser dividida, a macro simplesmente não fazer nada mesmo e não retornar o erro?
Muitíssimo obrigado por sua atenção!
Gregory
Re: Incluir Linhas de Parcelamento Excluindo a Linha Origina
Enviado: 05 Mai 2020 às 17:17
por osvaldomp
Olá, Gregory.
Acrescente a linha em vermelho conforme abaixo.
Dim LR As Long, k As Long, x As Long
If Application.CountIf([E:E], ">" & 1) = 0 Then Exit Sub
LR = Cells(Rows.Count, 1).End(3).Row
Incluir Linhas de Parcelamento Excluindo a Linha Original
Enviado: 05 Mai 2020 às 19:48
por gregvides
Muitíssimo obrigado Osvaldo! Resolveu com perfeição!