Renumerar Coluna

Boa tarde.

Por favor, estou desenvolvendo uma planilha e nela preciso, após deletar uma linha, renumerar a coluna. Contudo, não estou conseguindo desenvolver esse código vba.
Se alguém puder me ajudar, ficarei agradecido.

1

No meu código vba, quando deleto, por exemplo, a linha do terceiro teste, ao invés de renumerar os que sobraram para 1, 2, 3, 4, o código renumera todos para 4, pois ele está decrementando de acordo com o último valor da linha. Por exemplo, caso fosse 10 o último valor, ele decrementaria todos para 9 e assim sucessivamente.

2

Agradeço pela atenção de todos.

Consegue postar o código ou a planilha? Tem várias coisas que podem causar isso…

Boa noite, @rsardinha.

Tudo bem?

Segue planilha anexada.
Esse código vba para renumeração está no botão excluir.

RELATÓRIO_MOTORES.xlsm (53,2,KB)

Agradeço pela ajuda.

Oi, tudo bem e você?

O problema está nessa linha:
Ncod2 = Application.WorksheetFunction.Max(Range(“B76:B109”).Columns(1)) - 1

Fazendo isso, você pede pra ele tomar como “Ncod2” justamente o maior número da coluna B menos 1. O maior vai ser justamente o da última linha, e teremos o caso que você citou bem no seu exemplo.

Para resolver, fiz o seguinte:

  • antes do For, coloquei Ncod2 = 0
  • no For tem um If: cada vez que ele encontrar uma célula preenchida na coluna B ele faz um procedimento. Nesse procedimento, eu peço para ele fazer Ncod2 = Ncod2 + 1 ao invés do código anterior
  • fazendo isso, garantimos que o Ncod2 vai sempre subir ‘de um em um’ cada vez que entrarmos no If

Dê uma olhada no arquivo. É isso?

RELATÓRIO_MOTORES.xlsm (53,5,KB)

1 Curtida

Boa noite, @rsardinha.

Tudo certo…

Agradeço demais pela sua ajuda. É exatamente o que eu estava tentando fazer.
Muito obrigado pela explicação, agora entendi aonde eu estava errando.

Muito obrigado.

Excelente. Fico à disposição. Caso tenha alguma dúvida, procure-me!