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:  
diego_janjao

VBA - Impedir que insira nomes já cadastrados

Recommended Posts

Boa noite, pessoal.
Ainda estou na luta no aprendizado por VBA e gostaria que me ajudassem em um processo:
Impedir que cadastrem responsáveis ou setores que já se encontram cadastrados para que não haja duplicidade.
No momento consegui montar conforme planejei mas eu não consegui pensar em algo para impedir que façam essa duplicata.

Alguém saberia me dizer como fazer?

 

Se possível mas beeeeeeem menos importante, gostaria também de saber se é possível eliminar acentos das palavras ou se na parte de verificar se já está cadastrado, comparar nomes com e sem acentos, por exemplo, José e Jose seriam a mesma pessoa.

 

Obrigado.

PAM GUT 2017 form.rar

 

Críticas e sugestões na planilha também são muito bem vindas.

Editado por diego_janjao

Compartilhar este post


Link para o post
Compartilhar em outros sites

@diego_janjao os acentos fazem diferença no metodo de procura dos responsável ou setor, que utilizei. 

Acrescentei o corretor ortográfico do excel, para verificar e abrir a janela de correção para sugerir que o usuário corrija as palavras sem acentos, por exemplo, mas algumas palavras como "deposito", (sem o acento), pelo menos nas configurações regionais, do meu PC, o corretor não detectou.

A minha sugestão é, mas paliativa, é criar uma função que retire todos os acentos das palavras cadastradas (setores e responsáveis), e tambem retirar os acentos das palavras que o usuario inserir, desta forma, não terá problemas para comparar e localizar a duplicidade ou não.

 

                         

PAM GUT 2017 form_1.zip

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Ficou ótimo, @Basole .

    Estou lendo o código pra tentar entender e aprender, muito obrigado.

    Uma dúvida, aqui no meu notebook preciso apertar o botão OK 2x para rodar a macro, isso é normal ou é alguma coisa envolvida com meu notebook?

    • Obrigado 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Isso é normal, mas não é o correto. Preciso alterar esta rotina, pois está em 2 eventos diferentes. um evento verifica a correção ortográfica e o outro faz a pesquisa. Um está conflitando o outro.

    Depois eu incluo ambos eventos em um só, para que o usuário não precise clicar duas vezes. 

     

    Editado por Basole
    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @Basole , eu consegui unificar o código e acredito que esteja funcionando:

     

    Option Explicit
    
    
    Private Sub CommandButton1_Click()
        Dim rng As Range, o que As String, v As Variant
        For Each v In Split(txtSetor.Text)
               If Not Application.CheckSpelling(v) Then _
                  MsgBox "'" & v & "' não é uma palavra válida.", _
                     vbExclamation, "Atenção"
             Next v
        txtSetor.Text = spellCheck(txtSetor.Text)
        txtSetor.Text = shOrtografia.Range("A1").Value2
        
    With Sheets("Setores")
         o que = txtSetor.Text
         Set rng = .Columns(1).Find(o que, LookIn:=xlValues)
      If rng Is Nothing Then
      
            Application.ScreenUpdating = False
            Sheets("Setores").Select
            Range("A3").Select
            Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
            Range("A3").Value = txtSetor.Value
            Range("A2").Select
            Range(Selection, Selection.End(xlDown)).Select
            ActiveWorkbook.Worksheets("Setores").Sort.SortFields.Clear
            ActiveWorkbook.Worksheets("Setores").Sort.SortFields.Add Key:=Range("A2" _
                ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            With ActiveWorkbook.Worksheets("Setores").Sort
                .SetRange Range("A2:A50")
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
            Range("A2").Select
        
        Sheets("PAM GUT 2017").Select
        
        MsgBox "Novo setor adicionado!"
        
        txtSetor.Value = Empty 'Null
    
      Else
         MsgBox "Setor " & txtSetor.Value & " já existe!!", 64, "Atenção"
      End If
       
       
    End With
    
    End Sub

    Porém estou enfrentando um problema em uma ferramenta que você inseriu que achei muito útil, quando a pessoa incluir uma palavra inexistente, abre  corretor. Até aí tudo bem, o problema que estou vendo é que quando abre a Verificação de Ortografia e se eu tento cancelar, ele inclui do mesmo jeito o nome errado.

    Teria como mudar para quando cancelar a ortografia cancelar o evento inteiro?

     

    PAM GUT 2017 form_1.rar

    Editado por diego_janjao

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • Vi que está realmente cancelando a verificação ortográfica e não incluindo o nome, porém mesmo com um nome válido ele aparece como cancelado e não inclui:

    pamgut.PNG.f43304316a6f03e2995892cb5d0ef673.PNG

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @Basole PERFEITO! Mais uma vez, obrigado!

    muito obrigado pela força e pelos ensinamentos.

     

    Caso houver alguma sugestão ou crítica sobre a ferramenta estou à disposição.

    Obrigado!

    • Obrigado 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @diego_janjao A sugestão eu já fiz, no meu primeiro post. 

     

    A minha sugestão é, mas paliativa, é criar uma função que retire todos os acentos das palavras cadastradas (setores e responsáveis), e tambem retirar os acentos das palavras que o usuario inserir, desta forma, não terá problemas para comparar e localizar a duplicidade ou não.    

     

    Acho que seria a melhor forma. Isto é se na planilha, puder ficar com a ortografia errada. 

    Pois eu sitei que para algumas palavras o corretor ortografico do excel, não abriu a janela para corrigir algumas palavras sem acentos. 

    Editado por Basole
    • Obrigado 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Pelo que percebi os campos setor e responsavel são fixos porque nao usar uma combobox?

    • Confuso 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @CasaDoHardware Como assim? 

    Essa parte de VBA está bem longe de ser minha área. Eu sou tipo um doutor Frankstein de VBA, pego um pedaço aqui, um pedaço ali e monto o que eu preciso.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    O responsavel e o setor ja não esta pre cadastrado?

     

    Nao existe uma lista?

     

    Pessoalmente acho exagero desenvolver uma rotina inteira apenas para cadastrar 1 nome.

     

    Como me parece que esse é um cadastro eventual, talvez você cadastre um novo setor ou um novo responsavel 1 vez no mes ou menos, eu faria esse cadastro diretamente na planilha.

     

    E alem do nome utilize a matricula do funcionario para verificar se o mesmo ja esta cadastrado no seu sistema.

     

    E setores provavelmetne você nao tem 50 setores diferentes dentro da fabrica, tambem é de fácil visualização, crie codigos para eles tambem.

     

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
  • Autor do tópico
  • @CasaDoHardware sim, sobre os responsáveis não são muitos mesmo. O problema é o conhecimento de todas as pessoas que vão mexer nela.

     

    Sobre os setores pode ter certeza que terá mais de 100.

     

    Mas entendo a sua colocação, o real problema é o conhecimento dessas pessoas que vão trabalhar com essa planilha.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Nao importa que seja mais de 100 basta criar uma lista com os dados

     

    A lista é criada por uma formula no gerenciador de nomes.

     

    Basta colocar o nome em rowsource

     

    Veja o exemplo:

     

     

    Exemplo Combobox.rar

    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

    ×