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:  
Glaiciane Perim

RESOLVIDO Macro: regista data de alteração da célula i3 da plan2 na célula d3 da plan1

Recommended Posts

Boa Tarde Pessoal!

Estou com um problema ao tentar executar uma macro que registe a data de alteração feita nas células da Coluna I (ou 9) da Planilha 2 nas células da Coluna D (ou 4) da Planilha 1.

Alguém sabe alguma macro com essa função?

Obrigado

Eu estou usando Excel 2007

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Glaiciane Perim veja se o exemplo (abaixo) leh ajuda: 

Cole o codigo Exemplo, no modulo de EstaPasta_de_trabalho: (vide img)

 

auto_ca2.gif

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim lngCol As Long

    If Target.Count > 1 Then Exit Sub

    Select Case ActiveSheet.Name
    Case Is = "Plan1"  ' Altere o nome da sua planilha(aba) * coluna D
        lngCol = 4
    Case Is = "Plan2"   ' Altere o nome da sua planilha(aba) * coluna I
        lngCol = 9
    End Select

    If lngCol = 0 Then Exit Sub

    If Target.Column = lngCol Then
        ActiveSheet.Range("A" & Target.Row).Value = VBA.Now
    End If

End Sub

 

Editado por Basole

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole, Não sei qual foi o problema mas não estou conseguindo fazer executar a macro.

Estou testando a macro em uma planilha vazia do excel, na qual tem 3 planilhas (Plan1, Plan2 e Plan3)

Ao digitar na coluna I da Plan2 não aparece a data na Coluna D da Plan1.

 

Pode me ajudar de novo ? ^^

codigo.PNG

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Glaiciane Perim vendo a imagem que voce postou, me parece que a macro esta em um modulo padrão, como disse anteriormente para a macro ser executada automaticamente, voce precisa inserir esse codigo no vbe da EstaPasta_de_trabalho (vide img q postei). * (Dee 2 click sobre EstaPasta_de_trabalho p/ abrir o modulo e cole)..

 

Eu alterei o codigo (abaixo), pois não tinha entendido exatamente o que queria: 

 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim lngCol As Long

    Const w1 As String = "Plan1"    ' Altere o nome da sua planilha(aba) * coluna D
    Const w2 As String = "Plan2"    ' Altere o nome da sua planilha(aba) * coluna I

    If Target.Count > 1 Then Exit Sub

    Select Case ThisWorkbook.ActiveSheet.Name

    Case Is = w2
        lngCol = 9
    Case Else
        Exit Sub
    End Select

    If lngCol = 0 Then Exit Sub

    If Target.Column = lngCol Then
        ThisWorkbook.Worksheets(w1).Range("D" & Target.Row).Value = VBA.Now
    End If

End Sub

 

 

 

Editado por Basole
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Basole você é féra!

Deu cetinho.

Agora vou aplicar essa macro a um monte de outras planilhas aqui , valewzão :)

Se tiver algum artigo sobre VBA que queira compartilhar comigo, estarei gratissíma.

já estou te seguindo aqui no clube

abraços 

  • Curtir 1

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

×