Ir ao conteúdo
  • Cadastre-se

Digitar e excluir códigos numéricos 12 NC


Posts recomendados

Pessoal,

 

Tenho o seguinte código abaixo, para excluir a linha onde contém o dado digitado:

 

Sub ExcluirComCritério ()

'Excluir código por linha

Application.ScreenUpdating = False

ActiveSheet.Unprotect Password:="aba"

resp = InputBox("Digite o Código a ser Excluído")

Range("A9:A50000").Select
Selection.Find(What:=resp).Activate
lin = ActiveCell.Row
Rows(lin).Select
Selection.Delete Shift:=xlUp

ActiveSheet.Protect Password:="aba"
     
Application.ScreenUpdating = True
    
End Sub

 

Porém, eu trabalho com código 12 NC (ex.:420613671661), quando eu digito qualquer numero de forma incorreta, ou seja, se eu digito "1" e confirmo a exclusão, o código considera a primeira linha que contem o numero "1" de qualquer 12NC inputado, isso acabo gerando uma exclusção incorreta. 

 

Há alguma forma de considerar erro e cancelar a ação de excluir, se eu digitar incorretamente? Algo do tipo se não for um código 12 NC ele não exclui!!!!

 

Me ajudem!

 

 

Link para o comentário
Compartilhar em outros sites


Sub ExcluirComCritério()
    Application.ScreenUpdating = False
        ActiveSheet.Unprotect "aba"
            resp = InputBox("Digite o Código a ser Excluído")
            Columns(1).Find(What:=resp, LookAt:=xlWhole).EntireRow.Delete
        ActiveSheet.Protect "aba"
    Application.ScreenUpdating = True
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@Ingo M P Américo, a versão abaixo ignora valores não encontrados:

 

Sub ExcluirComCritério()
    Application.ScreenUpdating = False
        ActiveSheet.Unprotect "aba"
            resp = InputBox("Digite o Código a ser Excluído")
            Set resp = Columns(1).Find(What:=resp, LookAt:=xlWhole)
                If Not resp Is Nothing Then
                    resp.EntireRow.Delete
                End If
        ActiveSheet.Protect "aba"
    Application.ScreenUpdating = True
End Sub

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Fiz outro teste e percebi que quando o campo estava em branco ou quando clicava em "cancelar", a primeira linha que estava sem o código era apagada.

 

Fiz a seguinte modificação e funcionou.

 

Sub ExcluirComCritério()
    Application.ScreenUpdating = False
        ActiveSheet.Unprotect "aba"
            resp = InputBox("Digite o Código a ser Excluído")
            'O código tem que estar na coluna 1
            Set resp = Columns(1).Find(What:=resp, LookAt:=xlWhole)
            If resp <> "" Then
                resp.EntireRow.Delete
            End If
        'ActiveSheet.Protect "aba"
    Application.ScreenUpdating = True
End Sub

 

Link para o comentário
Compartilhar em outros sites

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...