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:  
Felipe Ver

Dois "Worksheet_Change" - Como unificar?

Recommended Posts

Bom dia galera!!!

Pessoal, só pra entenderem, sou iniciante em vba e acabei colocando em minha planilha dois códigos que contem:

Private Sub Worksheet_Change(ByVal Target As Range)

Mas não esta funcionando, pesquisei bastante e vi que não é possível existir dois, logo um dos códigos não funciona.

Alguém consegue me ajudar? Como posso adaptar o código para que os dois scripts funcionem?

É a ultima coisa que falta pra eu fechar o sisteminha hehehea

 

Abaixo segue imagem e anexo, a planilha exemplo.

Muito obrigado!!!!

 

Formulário - projeto2.zip

 

Capturar_5.thumb.JPG.caaea59d98fecf55b1b5439a9c609a00.JPG

 

 

Grande abraçoo!!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Amigos!!! CONSEGUI!!..

     

    Caso alguém esteja com o mesmo problema, segue o código para estudos...

     

    Option Explicit
    
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim rng As Range, c As Range
        Dim cVal As String
    
        Const seuInterv As String = "C4,C5,C7,C8,C11,C12,C15:C21,C23,C26,C27,C31,C43,C46,C48,C49" '<= * Deixar maiusculas
        
        Set rng = Intersect(Target, Range(seuInterv))
        If Not rng Is Nothing Then
            Application.EnableEvents = False
            For Each c In rng
                cVal = c.Value
                Select Case True
                    Case IsEmpty(cVal), IsNumeric(cVal), _
                            IsDate(cVal), IsError(cVal)
                    Case Else
                        c.Value = UCase(cVal)
                        Call Worksheet_Change2(c)
                End Select
            Next c
            Application.EnableEvents = True
        End If
        
    End Sub
    
    
    Private Sub Worksheet_Change2(ByVal Target As Range)
        Dim rng As Range
        
        If Target.Count > 1 Then Exit Sub
        
        Const seuInterv As String = "C4,C5" '<= * Remover os acentos
        
        Set rng = Intersect(Target, Range(seuInterv))
        If Not rng Is Nothing Then
            
            Application.EnableEvents = False
             
             If InStr(Target.Value, "/") > 0 Then
                Target.Value = VBA.Replace(RemoveAcentos(Target.Value), " ", "")
             Else
                Target.Value = RemoveAcentos(Target.Value)
             End If
            
            Application.EnableEvents = True
        
        End If
    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

    ×