Ir ao conteúdo
  • Cadastre-se

Excel 2007 - como verificar modificações em células automaticamente?


Visitante

Posts recomendados

Estou montando uma tabela na qual pretendo colocar uma célula que indicará a data da última modificação dos dados de determinadas células. Já sei como inserir a data e a hora por meio de fórmula, mas como devo montar uma fórmula que detecte alguma modificação em algumas células e, com isso, reinsira a data? Exemplo:

Se qualquer célula num intervalo de C4:E12 for modificada, deve ser inserida uma estampa de data e hora na célula J5 automaticamente.

É algo desse tipo que quero que aconteça. Mas como mandar o Excel fazê-lo automaticamente?

Grato pela atenção,

Artur Henrique

Link para o comentário
Compartilhar em outros sites

Olá,

Você pode inserir o código abaixo na planilha em que estão os dados, exemplo, se a planilha em questão for a Plan1, então vá até o editor VBA e não use um módulo, mas dê um clique duplo no ícone da planilha Plan1, no Project Explorer. As quatro constantes definem o intervalo de células que vão ser monitoradas e caso sejam alteradas haverá a inclusão da fórmula em J5.

Private Sub Worksheet_Change(ByVal Target As Range)
Const Linhainicial = 1
Const LinhaFinal = 10
Const Colunainicial = 1
Const ColunaFinal = 1
If Target.Row >= Linhainicial And Target.Row <= LinhaFinal And _
Target.Column >= Colunainicial And Target.Column <= ColunaFinal Then
Range("J5").Formula = "=Now()"
End If
End Sub

Carlos César Tanaka

Cursos de Excel/VBA

MPR Informática

Link para o comentário
Compartilhar em outros sites

Vou alterar o código apresentado anteriormente, para verificar os intervalos que você sugeriu, C4:E12; C20:E28; C36:E44.

Private Sub Worksheet_Change(ByVal Target As Range)
Const Linhainicial = 1
Const LinhaFinal = 10
Const Colunainicial = 1
Const ColunaFinal = 1
' Cada intervalo é separado pelo operador OR (ou)
If ((Target.Row >= Range("C4").Row And Target.Column>= Range("C4").Column) and (Target.Row <= Range("E12").Row And Target.Column<= Range("E12").Column)) or _
((Target.Row >= Range("C20").Row And Target.Column>= Range("C20").Column) and (Target.Row <= Range("E28").Row And Target.Column<= Range("E28").Column)) or _
((Target.Row >= Range("C36").Row And Target.Column>= Range("C36").Column) and (Target.Row <= Range("E44").Row And Target.Column<= Range("E44").Column)) then
Range("J5").Formula = "=Now()"
End If
End Sub

 

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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!