segunda-feira, 8 de setembro de 2025

🔥 Automação em VBA: Detector de Alterações Críticas em Planilhas com Alerta Instantâneo

 🧐 O Problema

No ambiente empresarial, várias pessoas podem mexer numa planilha (mesmo em rede interna ou compartilhada).
Às vezes, alguém:

  • apaga fórmulas sem querer ❌

  • altera valores importantes sem registrar 🔍

  • muda um parâmetro crítico sem avisar ⚠️

Resultado: relatórios errados, decisões comprometidas e horas de retrabalho.


💡 A Solução Inovadora

Um detector automático de alterações críticas:

  • O VBA monitora áreas sensíveis da planilha (como colunas de preços, impostos, fórmulas financeiras).

  • Quando alguém muda algo:

    • o sistema grava o antes e depois da célula, com data/hora e usuário do Windows;

    • dispara um alerta instantâneo por e-mail no Outlook (ou até mensagem popup no Excel).


🚀 Funcionamento

  1. O usuário altera um valor em área crítica (ex.: preço unitário).

  2. O VBA intercepta a alteração.

  3. Automaticamente registra:

    • Célula alterada

    • Valor antigo

    • Novo valor

    • Data e hora

    • Usuário do Windows

  4. Envia alerta para o responsável (ex.: gerente ou dono da planilha).


🧑‍💻 Código VBA (exemplo simplificado)

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim cel As Range Dim usuario As String Dim mensagem As String usuario = Environ("Username") ' Definir área crítica (exemplo: coluna C em "Vendas") If Sh.Name = "Vendas" Then If Not Intersect(Target, Sh.Range("C:C")) Is Nothing Then For Each cel In Target mensagem = "🚨 Alteração Detectada!" & vbCrLf & _ "Usuário: " & usuario & vbCrLf & _ "Planilha: " & Sh.Name & vbCrLf & _ "Célula: " & cel.Address & vbCrLf & _ "Novo valor: " & cel.Value & vbCrLf & _ "Data/Hora: " & Now ' Registrar em aba de log With ThisWorkbook.Sheets("LOG") .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0).Value = mensagem End With ' (Opcional) disparar alerta por e-mail no Outlook 'Call EnviarEmail(mensagem) MsgBox mensagem, vbCritical, "Alerta de Alteração" Next cel End If End If End Sub

📊 Onde usar no dia a dia empresarial?

✅ Controle de planilhas financeiras (cálculos de impostos, margem de lucro)
✅ Monitoramento de parâmetros de contratos
✅ Auditoria de estoque e preços
✅ Registro automático de quem alterou dados sensíveis


🔍 Por que é útil ?

Normalmente as pessoas usam proteção de planilha (que é limitada).
Aqui, estamos criando uma auditoria automática com log e alerta instantâneo — algo que deixa o Excel muito mais seguro e profissional, quase como um sistema corporativo.

Nenhum comentário:

Postar um comentário