none
Criar VARIAVEL RRS feed

  • Pergunta

  • Estou criando uma planilha para controle de chamados do suporte tecnico, para isso queria criar uma variavel do tipo, ao preencher determinada celula da COLUNA I com a palavra CONCLUIDO, a coluna H (DATA da CONCLUSAO) sera preenchida automaticamente com a data e hora atual do sistema.
    sexta-feira, 3 de maio de 2013 20:49

Respostas

  • Cole o código abaixo na classe da planilha que deseja que o efeito ocorra:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Columns("I")) Is Nothing Then Exit Sub
        
        Application.EnableEvents = False
        If Target = "CONCLUIDO" Then Cells(Target.Row, "H") = Now
        Application.EnableEvents = True
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta cassiocostasp segunda-feira, 6 de maio de 2013 14:14
    sábado, 4 de maio de 2013 13:49
    Moderador

Todas as Respostas

  • Cole o código abaixo na classe da planilha que deseja que o efeito ocorra:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Columns("I")) Is Nothing Then Exit Sub
        
        Application.EnableEvents = False
        If Target = "CONCLUIDO" Then Cells(Target.Row, "H") = Now
        Application.EnableEvents = True
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    • Marcado como Resposta cassiocostasp segunda-feira, 6 de maio de 2013 14:14
    sábado, 4 de maio de 2013 13:49
    Moderador
  • Colei este codigo no VB e nao surtiu o efeito. Algo que eu possa ter efetuado erroneamente?
    segunda-feira, 6 de maio de 2013 14:13
  • Hoje minha planilha tem estas linhas

                

    Private Sub Worksheet_Change(ByVal Target As Range) >>>>>>>>>>>>> PARA INSERIR A DATA DE ABERTURA

        If Target.Column = 2 Then
            Cells(Target.Row, 7).Value = Date & " " & Time

        If Intersect(Target, Columns("I")) Is Nothing Then Exit Sub>>>>>>>>>>>>>AO ENCERRAR O ATENDIMENTO

        Application.EnableEvents = False
        If Target = "CONCLUIDO" Then Cells(Target.Row, "H") = Now
        Application.EnableEvents = True

        End If
    End Sub

    segunda-feira, 6 de maio de 2013 14:44
  • Você colou o código numa classe de planilha ou num módulo? Certifique-se que seja numa classe de planilha: http://www.ambienteoffice.com.br/officevba/modulos_em_vba/#inserir_codigo_num_objeto

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    segunda-feira, 6 de maio de 2013 21:26
    Moderador
  • Colei numa classe da planilha, o codigo ficou assim:

    Private Sub Worksheet_Change(ByVal Target As Range) >>>>>>>>>>>>> PARA INSERIR A DATA/HORA DE ABERTURA DA SOLICITAÇÃO

        If Target.Column = 2 Then
            Cells(Target.Row, 7).Value = Date & " " & Time

        If Intersect(Target, Columns("I")) Is Nothing Then Exit Sub>>>>>>>>>>>>>DATA/HORA DE ENCERRAMENTO DA SOLICITAÇÃO
        Application.EnableEvents = False
        If Target = "CONCLUIDO" Then Cells(Target.Row, "H") = Now
        Application.EnableEvents = True

        End If
    End Sub

    No editor se eu deixo apenas o codigo para encerramento da solicitação ele executa normalmente, porem se deixo os dois apenas executa a primeira ação. Qual a melhor forma de deixar este codigo afim que funcione para os dois campos solicitados? Obrigado desde ja pela atenção

    terça-feira, 7 de maio de 2013 13:05
  • Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
        
        If Not Intersect(Target, Columns("B")) Is Nothing Then
            Cells(Target.Row, 7).Value = Date & " " & Time
        End If
        
        If Not Intersect(Target, Columns("I")) Is Nothing Then
            If Target = "CONCLUIDO" Then Cells(Target.Row, "H") = Now
        End If
        
        Application.EnableEvents = True
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 8 de maio de 2013 00:35
    Moderador