Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Edlenon1983

Digitar e excluir códigos numéricos 12 NC

Recommended Posts

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!

 

 

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Wendell Menezes Funcionou perfeitamente. Apenas sugiro, para quem não tiver a planilha protegida, comentar a linha:

ActiveSheet.Protect "aba"

 Quando fui testar, o código protegeu a planilha e eu não sabia a senha. Tive que fazer outra planilha de teste. :D 

Compartilhar este post


Link para o post
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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×