RE:insertar fecha al cumplir una condicion
Mira para lo de la fecha creo esto te sirve, trabaja con la celda activa y desde un boton, pero si lo deseas lo pasas a un bucle For next y sera mas rapido todo pero sera mas largo el procedimiento, ya que tendrias que indicarle el rango al bucle para que no te vaya a dañar las fechas anteriores, en cambio asi lo hacews uno a uno y vas seguro incluso puedes agregar una confirmacion para posibles errores
Sub Condicion()
Application.ScreenUpdating = False
If ActiveCell.Value = "SI" Then
ActiveCell.Offset(0, 1).Select
With Selection
.Value = Now
.NumberFormat = "m/d/yyyy" 'aqui puedes cambiar el formato de la fecha
.Copy
ActiveCell.Offset(0, 1).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
End With
Else
MsgBox "No hay parámetros que cambiar", vbInformation, "Procesado>>>!!!"
End If
Application.ScreenUpdating = True
End Sub
Claro debes adaptar la condicion que en mi ejemplo es la palabra SI.
Notaras que te coloca la fecha en dos columnas seguidas eso es porque la segunda columna que contiene la fecha es un valor de texto para que no se actualize, por lo tanto te recomiendo ocultarla o crear otro libro y ejecutarlo al mismo tiempo que el contiene el codigo de tal manera que cuando te pregunte si desas actualizar datos escojes si te conviene o no, para lo cual puedes usar el evento Open. Tambien puedes agregar la hora para manten