Ir ao conteúdo
  • Cadastre-se
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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×