Ir ao conteúdo
  • Cadastre-se

Excel executar macro ao mudar valor da celula


Ir à solução Resolvido por Visitante,

Posts recomendados

Senhores, bom dia! mais uma vez precisando muito da ajuda de vocês.

Tenho uma planilha onde preencho hora inicio / hora final / executor/ data inicio e data termino

minha intenção seria:

preencher a celula do executor ( pelo login do usuario)

preencher a data inicio (data atual formato dd/mmm)

sendo que preciso preencer a celula C2 com um horario a C3 com outro horario e assim até o final da planilha

 

pesquisando na internet, consegue ate chegar em algo parecido do que eu preciso, porém fica limitado a uma unica celula e tenho varias celulas na mesma planilha onde faço o preenchimento.

em anexo o arquivo até onde cheguei.

 

ao colocar horario na celula C2 ==> preenche a celula K2 com o login do usuario.

na celula F2 tem a formula =SEERRO((PROCV(K2;ANALISTAS!$A$2:$B$30;2;0));"")

 

segue abaixo o codigo que consigui até o momento.

 

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$C$2" Then
        Call userid_C2
        Call data_C2
        Exit Sub
   End If
End Sub
Private Sub userid_C2()
    Dim wshNetwork As Object
    Dim LogonName As Variant
        Set wshNetwork = CreateObject("WScript.Network")
        LogonName = "" & wshNetwork.UserName
        Range("K2").Value = LogonName
End Sub
Private Sub data_C2()
Dim Data As Date
    Data = Now()
Range("G2").Value = Data
'ActiveCell.Select
'ActiveCell.Offset(0, 4).Value = Data
End Sub

 

FECHAMENTO_MENSAL.rar

Link para o comentário
Compartilhar em outros sites

caro Haner, obrigado pelo retorno!

 

Tambem havia pensando nessa posibilidade. porém:

para cada linha, tenho um horario diferente, e da forma sugerida por voce, que tambem ja tentei, limito o user_id e data somente na celula F2 e G2

Preciso que quando coloque horario na celula c3 preencha na F3 (executor) e G3 (data)

Talvez algo que eu tenha esquecido de comentar e faz muito diferenca, a planilha pode ser utilizada por outros usuarios.

Link para o comentário
Compartilhar em outros sites

Primeiro, a solução que eu propus gerava um loop infinito porque cada alteração de célula gera uma nova alteração de célula. Dessa forma, ignore-a completamente.

 

Você precisa que as macros sejam executadas ao alterar um intervalo específico (imagino que toda coluna C) e precisa que as informações de executor e data sejam inseridas nas colunas F e G de linha correspondente a do preenchimento na C, é isso?

Link para o comentário
Compartilhar em outros sites

  • Solução
19 minutos atrás, Janilson Brito disse:

Preciso que quando coloque horario na celula c3 preencha na F3 (executor) e G3 (data)

 

Experimente:

 

Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Count > 1 Then Exit Sub
 If Target.Column <> 3 Then Exit Sub
 Cells(Target.Row, 6) = Application.UserName
 Cells(Target.Row, 7) = Date
End Sub

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!