Ir ao conteúdo

Posts recomendados

Postado

Este é meu primeiro post no forum e estou com uma dúvida. Estou usando este comando:

 

 

CODBOX = Application.WorksheetFunction.CountA(Plan2.Columns(1))

 

onde o CODBOX é meu textbox com o código gerado automaticamente, até ai tudo tranquilo. E tenho um botão de excluir assim:

 

 MSG = MsgBox("CONFIRMA A EXCLUSÃO?", vbOKCancel, "ATENÇÃO")
If MSG = 1 Then
Dim CORR As Single
CORR = CODBOX
B = Application.WorksheetFunction.Match(CORR, Plan2.Columns(1), 0)
Plan2.Rows(B).Delete Shift:=xlUp
CANCELButton_Click

 

 

Está tudo funcionando 100% mas tem um detalhe que eu gostaria de modificar. Vou dar um exemplo:

 

CODIGO        NOME         

1                    JOAO

2                   MARIA

3                   PEDRO

 

 

Então vamos supor que eu queira deletar a MARIA. Uso o botão excluir, ele exclui a linha 2 inteira, ok

Mas quando eu gero um novo cadastro ele não está gerando com o CODIGO 2 mas sim com código 4 e assim por diante.

Acredito que seja por causa deste linha de comando:

CODBOX = Application.WorksheetFunction.CountA(Plan2.Columns(1))

Aguardo respostas! Obrigado!

 

 

Postado

Olá, Marlon.

Veja se ajuda.

Os comandos abaixo irão renumerar a coluna 'A' a partir da primeira linha e até a última linha com valor.

 

Range("A1").Value = 1
Range("A1").AutoFill Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row), xlFillSeries

 

Se não resolver sugiro que você disponibilize um amostra do seu arquivo com o código completo instalado.

Postado

ALERTA - ao ser aberto o arquivo do link acima o Excel é exibido em tela cheia (Full Screen) sem pedir autorização. Considero isso uma invasão, além de trazer problemas a quem não está familiarizado em utilizar comandos para retornar à exibição normal do Excel.

 

Sugiro ao Marlon que substitua o arquivo por outro SEM O COMANDO FULL SCREEN.

 

 

 

 

 

 

Postado

 

Experimente: no código Private Sub CODBOX_Exit coloque as 4 linhas abaixo em negrito.

 

Plan2.Rows(B).Delete Shift:=xlUp
With Sheets("CADASTRO DE MILITAR")
 .Range("A2").Value = 1
 .Range("A2").AutoFill Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row), xlFillSeries
End With

CANCELButton_Click

 

Postado

Esse código funcionou, mas não é o que eu precisava.

O pessoal cadastrado não pode mudar de número, pois esse código gerado é para localizar o arquivo fisico de cada um.

Preciso que ele realmente crie um número que não está sendo usado de 1 a 750 (numero de pastas fisicas arquivada no setor) sem repetir.

Obrigado!

Postado

Então o número antes excluído será utilizado pelo primeiro próximo registro novo. É isso?

 

obs. Não vou abrir o seu arquivo novamente até você remover o comando FullScreen e informar aqui que o fez.

Postado

no código Private Sub NOVOButton_Click()

 

substitua estas 2 linhas

L1 = "NOVO"
CODBOX = Application.WorksheetFunction.CountA(Plan2.Columns(1))


 

 

por estas

Dim k As Long, c As Long
 k = Application.Max(Plan2.Range("A2:A" & Plan2.Cells(Rows.Count, 1).End(xlUp).Row))
 For c = 1 To k + 1
  If Application.CountIf(Plan2.Range("A2:A" & Plan2.Cells(Rows.Count, 1).End(xlUp).Row), c) = 0 Then
   CODBOX = c: Exit For
  End If
 Next c
L1 = "NOVO"

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!