Excel VBA

Aprenda a criar log em Excel VBA

Aprenda a criar log em Excel VBA. Neste artigo vamos aprender a criar log em nossas planilhas e projetos de um jeito fácil e simples.

Podemos incorporar estes comados em nossos formulários desenvolvidos em VBA ou em nossas planilhas.

Vamos supor que você tem um funcionário que usa uma planilha desenvolvida por você e gostaria de saber o horário que está planilha foi aberta este comando grava o horário que foi aberta a planilha, dia, nome computador, usuário logado.

Mas para que o seu funcionário não fique sabendo que você está monitorando podemos ocultar a planilha de log e só você abrir quando precisar.

Agora veremos como implantar log em nossas planilhas e projetos.

Vamos as passos.

Aprenda a criar log em Excel VBA. neste exemplo vou usar uma tela de login que criamos em um artigo neste blog e vamos incorporar a programação neste projeto. Para que ao clicar em abrir a tela de login o log fique gravado no projeto.

Link para baixar a planilha para estudo de caso neste artigo.

Bom agora que você já tem o seu projeto vamos dar continuidade na programação.

Abrir o projeto e vamos até o ambiente VBA.

Clique no Form Tela Login e vamos até o botão entrar.

Dentro do botão entrar vamos inserir o código fonte abaixo onde acrescentamos os comando do log.

Call nome_maquina
If Me.txt_user = “” Then
MsgBox “Preencha o campo Usuário”, vbExclamation, “Erro Login”
Me.txt_user.SetFocus
Exit Sub
ElseIf Me.txt_senha = “” Then
MsgBox “Preencha o campo senha”, vbExclamation, “Erro Login”
Me.txt_senha.SetFocus
Exit Sub
End If
Dim senha As String
Set plan = Sheets(“Users”)
Set plan_log = Sheets(“Log”)
USER = txt_user
plan.Select
‘Localiza um registro
linha = plan.Range(“B:B”).Find(USER).Row
senha = plan.Cells(linha, 3)
nome = plan.Cells(linha, 6)
If senha = Me.txt_senha Then
id_log = plan_log.Range(“A” & Rows.Count).End(xlUp).Row
plan_log.Cells(id_log + 1, 1) = id_log
plan_log.Cells(id_log + 1, 2) = Format(Now, “MM/DD/YYYY”)
plan_log.Cells(id_log + 1, 3) = Format(Now, “HH:MM:SS”)
plan_log.Cells(id_log + 1, 4) = “Logado”
plan_log.Cells(id_log + 1, 5) = nome
plan_log.Cells(id_log + 1, 6) = nome_computador
plan_log.Cells(id_log + 1, 7) = nome_user_maquina
Unload Me
Sheets(“Users”).Select
End If
Exit Sub

Agora precisamos criar um modulo para a função global onde iremos chamar ela no botão entrar.

Option Explicit
‘Criação das variáveis globais para utilização em todos os módulos
Global nome_computador As String
Global nome_user_maquina As String
Global sessao As Long
Sub nome_maquina()
nome_computador = Environ(“Computername”)
nome_user_maquina = Environ(“USERNAME”)
End Sub

Pronto agora está funcionado nosso Log.

Comando utilizado para planilhas simples sem formulários colocar os fonte abaixo no evento Workbook_Open.

Call nome_maquina
Set plan_log = Sheets(“Log”)
‘torna a guia Log visível para o código
‘plan_log.Visible = xlSheetVisible
‘plan_log.Visible = xlSheetVeryHidden
id_log = plan_log.Range(“A” & Rows.Count).End(xlUp).Row
plan_log.Cells(id_log + 1, 1) = id_log
plan_log.Cells(id_log + 1, 2) = Format(Now, “MM/DD/YYYY”)
plan_log.Cells(id_log + 1, 3) = Format(Now, “HH:MM:SS”)
plan_log.Cells(id_log + 1, 4) = “Logado”
plan_log.Cells(id_log + 1, 5) = nome_computador
plan_log.Cells(id_log + 1, 6) = nome_user_maquina
plan_log.Cells(id_log + 1, 7) = nome_user_maquina
Sheets(“Log”).Select
Exit Sub
End Sub

Download

Olá, amigos! Inscreva-se em nosso canal do Youtube para não perder os próximos vídeos.

admin

Dicas do Excel.

View Comments

  • se o log precisar ser em uma planilha abaixo, tentei porem deu erro, meu log nao pode ficar na mesma planilha.

    • por exemplo

      Set plan_log = Workbooks.Open("\\fs.e.com.br\Ca\Opera\urier\Controles\log.xlsx", _
      Password:="xxxx")
      Worksheets("log").Activate

      Range("A" & Rows.Count).End(xlUp).Row

      plan_log.Cells(id_log + 1, 1) = id_log
      plan_log.Cells(id_log + 1, 2) = Format(Now, "MM/DD/YYYY")
      plan_log.Cells(id_log + 1, 3) = Format(Now, "HH:MM:SS")
      plan_log.Cells(id_log + 1, 5) = nome_computador
      plan_log.Cells(id_log + 1, 6) = nome_user_maquina

      ta dando erro no evento

Share
Published by
admin

Recent Posts

Gráfico de mapas no Excel

Gráfico de mapas no Excel, veja que interessante está ferramenta onde mostra a população por…

1 mês ago

Calendário anual no Excel

Calendário anual no Excel, desenvolvido com as funções do Excel e muito útil para planejamento…

1 mês ago

Formatação condicional no Excel na linha inteira

Formatação condicional no Excel na linha inteira, veja que interessante está formatação no Excel, conforme…

2 meses ago

Macros para armazenar dados no Excel

Macros para armazenar dados no Excel, vamos entender ou pouco sobre o conceito de macros…

2 meses ago

Função ÉERROS no Excel

Função ÉERROS no Excel é utilizada para verificar se uma célula contém algum tipo de…

2 meses ago

Função subtotal no Excel

Função subtotal no Excel permite calcular subtotais de uma lista ou intervalo de dados, aplicando…

3 meses ago