Página 1 de 1

Ajuda com Macro Parcelamento

Enviado: 08 Set 2021 às 18:38
por SandroLima
Boa tarde, pessoal.

Tenho uma macro para inserir linhas conforme o Nº de Procedimentos ou Parcelas (aquele que for maior).

Preciso de auxílio na seguinte necessidade:

No caso do exemplo da planilha anexa são 5 procedimentos e 3 parcelas, portanto ela insere 5 linhas e descreve cada linha da Coluna Proced como P1, P2, P3 etc.

Na Coluna Parcelas preciso que ela insira Parcela 1 de 3, Parcela 2 de 3 e Parcela 3 de 3.

Tentei com um Bloco "For... Next" dentro do outro mas sem sucesso.

Alguém poderia me orientar/ajudar em como proceder?

Na Planilha tem duas tabelas.

A Tabela 1 serve para verificação e teste da Macro e a Tabela 2 apresenta o resultado desejado.

Re: Ajuda com Macro Parcelamento

Enviado: 14 Set 2021 às 21:59
por Jonathaluis
Sandro, boa noite!

Segue planilha com a inclusão das parcelas, qualquer dúvida chama ae.

Re: Ajuda com Macro Parcelamento

Enviado: 14 Set 2021 às 22:49
por SandroLima
Boa noite, Jonathaluis.

Excelente alternativa.... obrigado pela ajuda.

No lugar desse trecho do seu código:
Código: Selecionar todos
If inserirParcelas And _
                    parc <= Parcelas Then
                    Tabela.ListColumns("Parcelas").DataBodyRange.Cells(1, 1).Value = "Parcela " & parc & _
                        " de " & Parcelas
                    parc = parc + 1
                End If
Consegui resolver da seguinte forma:
Código: Selecionar todos
If Parcelas >= P-1 Then
                            .ListColumns("Parcelas").DataBodyRange.Cells(1, 1).Value = "Parcela " & P-1 & " de " & Parcelas
                        Else
                            .ListColumns("Parcelas").DataBodyRange.Cells(1, 1).Value = ""
                        End If
Mais uma vez obrigado por agregar conhecimento.

Re: Ajuda com Macro Parcelamento

Enviado: 15 Set 2021 às 00:44
por Jonathaluis
Boa!

Por questão de performance você não precisa do Else.
Quando você cria uma linha nova os seus campos estão todos vazios.
O código só vai inserir as parcelas quando entrar no if, do contrário não fará nada, então não precisa colocar o else com a linha que insere vazio(.ListColumns("Parcelas").DataBodyRange.Cells(1, 1).Value = "").
A mesma coisa para a linha Tabela.ListColumns("Descrição").DataBodyRange.Cells(1, 1).Value = "", quando cria uma linha nova já está vazia.
Só utilizaria celula= "" quando eu quisesse limpar o campo e nesse caso eles já são criados limpos.

Re: Ajuda com Macro Parcelamento

Enviado: 15 Set 2021 às 13:17
por SandroLima
Ótima dica... e sugestão implementada.