Esta ves les comparto una macro muy simple pero a su vez valiosa, esta les servirá a la hora de hacer registros en los que se debe indicar la fecha actual.
Si usas excel regularmente para hacer registros con fechas, sabrás que es una lata tener que poner la fecha cada vez que ingresas un nuevo registro, pues con una macro muy simple es posible poner la fecha de manera automática al ingresar algún dato en una celda especifica.
les dejo un archivo de excel donde esta la macro indicada, verán que al modificar alguna celda de la columna A, de manera automática se pone la fecha actual en la celda de a lado en la columna B.
para ver el código solo den click derecho sobre el nombre de la hoja/ver código…
SERCONFIS ALEXOS dice
estoy usando la bancosfx pero estaria genial que los registro los llevara por la fechas de pagos y fechas de depositos todas vez que registra de conformidad a como vaz ingresandos los datos y lo cual se obserta que el mando lo tiene la referencia por lo que seria bueno que los registro de informacion fuera en base a la fecha; toda vez que siempre a alguien se le pasara registra algun dato y si esto es una muy buena herramienta en el trabajo de administracion y control…….. que mas sera mejor que registrarlo por fechar……… gracias
Nolberto Lopez dice
Saludos.
La aplicación de bancos si rae un campo para la fecha, pero debe poneral el usuario puesto que no siempre se hace el registro el mismo dia en que la operación se da.
Walter Oliva dice
Quisiera que en una fila aparezca una fecha actual con un dato adjunto a10, por ejemplo 25/08/13 $400.00 que es diario, luego en esa misma celda ponga la fecha siguiente con la venta siguiente y asi en forma escalonada hasta completar el mes. Me imagino que tendré que usar una macro pero soy novato en ello, solicito ayuda gracias de antemano
Walter
Anonymous dice
Hola que tal, desearia saber si alguien puede ayudarme en lo siguiente:
AH16 tiene fecha 30 Ene 13 (Se coloca manualmente) Pero quisiera que en AK16 y AL16, me aparezcan: 31 Ene 13 y 01 Feb 13 respectivmente, siempre teniendo en cuenta que estos dos ùltimos sean Hàbiles. Disculpas por mi anterior comentario, por no explicarme bien. Atte Ignacio Bs AS Argentina
Anonymous dice
Hola que tal, desearia saber si alguien puede ayudarme en lo siguiente:
AH16 tiene fehca 30 Ene 13 (A partir del dìa hàbil inmediato siguiente, tengo dos dìas (hàbiles) para iniciar operaciòn. Cuales serìan las formulas que debo colocar. Desde ya muchas gracias. Atte Ignacio – Bs As Argentina.
Jorge dice
estimados todas las formulas tienen su problema, la macro impide la función deshacer una vez ingresado el dato en la columna inspeccionada, y con la formula si( se actualiza la fecha cada vez que se abre el libro, y si quieres registrar el dato en mas de una celda de la misma columna te cambia la fecha de todas las celdas contiguas
Anonymous dice
amigo esta excelente tu ayuda pero adicional necesito aparescan las fracciones de segundo o milisegundos.. asi—> h:mm:ss,0
jose cedeno from Panama
Anonymous dice
esta genial, tengo una duda si quiero ademas de insertar auto. las fechas cuando pongo el impote de una factura, quiero sumar el importe total entre dos fechas definidas en otra celda, como seria este sumatiorio ?
Anonymous dice
hola….soy Marta
tengo una columna con fechas dd/mmm/yy
pero una celda aparece como 00/00/0000,
como hago para cambiarla.
un abrazo y gracias por tu ayuda
Anonymous dice
Excelente.
Anonymous dice
Hola, necesito que me ayuden con algo relacionado con las fechas. explico:
Tengo una fila con las fechas hasta 6 meses y bajo la fecha en otra fila va un dato que voy agregando a medida que pasan los dias. mi pregunta es: como hago que en una celda me muestre la suma de las ultimas dos semanas (con el objetivo que esta suma se valla corriendo automaticamente a medida que agrego un nuevo dato)y este resultodo multiplicarlo por otra celda.
de antemano muchas gracias
Fernando
Anonymous dice
Buenas tardes, de antemano dar las gracias si alguien me pude ayudar, paso a contar lo que quiero hacer, en una hoja Excel quiero que cuando meta un dato o lo rectifique en una de las filas de la columna 2y4 me salga en su propia fila de la columna 6 la fecha actual y a su vez si meto un dato o lo rectifico en una de las filas de la columna 7 me salga en su propia fila de la columna 8 la fecha actual, y si no tiene ningún dato o lo borro, de dichas celdas, se borre también la fecha, muchas gracias.
Anonymous dice
hola no encuentro ninguna que me sirva, lo que quiero es que al modificar cualquier dato en B1, C1, D1, E1…etc la fecha cambie en A1
muchas gracias
Nolberto lopez dice
lo mismo pero con formula…
=SI(A2=””,””,TEXTO(HOY(),”dd/mm/aaaa”))
en este caso no es necesario poner formato de fecha a las celdas.
=SI(A2=””,””,HOY())
aquí si es necesario poner formato de fecha a las celdas.
Nolberto lopez dice
Para que la fecha se ponga a la izquierda.
Private Sub Worksheet_Change(ByVal Target As Range)
tiempo = Date
Set isect = Application.Intersect(Target, Range(“B2:B100”))
If Not isect Is Nothing Then
If isect.Value <> “” Then
isect.Offset(0, -1).Value = tiempo
End If
Set isect = Application.Intersect(Target, Range(“B2:B100”))
If Not isect Is Nothing Then
If isect.Value = “” Then
isect.Offset(0, -1).Value = “”
End If
End If
End If
End Sub
Nolberto lopez dice
He realizado unos cambios al código para definir un rango en el que deba ponerse la fecha… ejemplo, solo queremos que se ponga la fecha en caso de modificar el rango A2:A100
también se agrega la opción para que se elimine la fecha al suprimir dato de la celda.
Private Sub Worksheet_Change(ByVal Target As Range)
tiempo = Date
Set isect = Application.Intersect(Target, Range(“A2:A100”))
If Not isect Is Nothing Then
If isect.Value <> “” Then
isect.Offset(0, 1).Value = tiempo
End If
Set isect = Application.Intersect(Target, Range(“A2:A100”))
If Not isect Is Nothing Then
If isect.Value = “” Then
isect.Offset(0, 1).Value = “”
End If
End If
End If
End Sub
JOSE dice
les dejo el codigo que hice por si a alguien mas les sirve
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Application.Intersect(Target, Range(“L:L”)) Is Nothing Then
Range(“B” & Target.Row) = Date ‘fecha en la fila b al poner dato en la fila l
Range(“C” & Target.Row) = Format(Now, “hh:mm”) ‘hora en la fila c al poner dato en la fila l
End If
If Not Application.Intersect(Target, Range(“M:M”)) Is Nothing Then
Range(“D” & Target.Row) = Format(Now, “hh:mm”) ‘solo hora al poner dato en la fila m
End If
If Not Application.Intersect(Target, Range(“N:N”)) Is Nothing Then
Range(“E” & Target.Row) = Format(Now, “hh:mm”) ‘solo hora al poner dato en fila n
End If
If Not Application.Intersect(Target, Range(“O:O”)) Is Nothing Then
Range(“F” & Target.Row) = Format(Now, “hh:mm”) ‘ solo hora al poner dato en fila o
End If
End Sub
Anonymous dice
Tengo la misma duda que Nicolas, como puedo hacer para que la fecha se borre cuando elimine el texto de la columna 1, agradezco su ayuda, saludos!
Anonymous dice
hola norbert mi tema es una macro como para que al modificar 4 celdas de una misma fila inserte fecha en una celda siguiente desde ya gracias
Anonymous dice
Como hago para que la fecha aparezca hacia la izkierda?
Anonymous dice
HOLA SI PONES LA FUNCION SI CON LA FORMULA HOY CADA DIA QUE PASA TE CAMBIA LA FECHA. NO QUEDA LA QUE PRECISAS, NO HAY OTRA MANERA ?
JACKSON dice
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range(“A:A”)) Is Nothing Then
Range(“B” & Target.Row) = Date
Range(“C” & Target.Row) = Format(Now, “hh:mm”)
End If
End Sub
con este codigo te sale la fecha y la hora en las celdas respectivas b y c si necesitas cambiar las celdas o el rengo loso le modificas las letras entre comillasy si no necesitas la hora eliminas ese renglon.
la forma de ejecutar es dando clic derecho sobre la hoja y seleccionas ver codigo, lo copias lo pegas y ya la fecha no se modificara al abrir el documento.
Nicolas!! dice
OK Fracias a todos por la informacion, pero ahora mi problema es que quiero que el campo donde aparece la hora se limpie cuando borro la informacion de la celda modificada.
Nolberto lopez dice
=SI(A1=””,””,HOY())
suerte
Anonymous dice
Esto solo funciona con macros?
Necesito hacer lo mismo, pero en un libro exel cualquiera. se podra?
Anonymous dice
Hola he puesto este codigo en excel y no aparece nada, como hacer para que funciones, gracias
Private Sub Worksheet_Change(ByVal Target As Range)
tiempo = Date & “” & Time
If Target.Column = 1 Then Target.Offset(0, 1) = tiempo
End Sub
mrc dice
Una Duda, yo quiero que me aparezca fecha cuando relleno (mediante copiar y pegar) dos o mas celdas de una fila.
Anonymous dice
No se pueden modificar celdas protegidas pero si que hay una manera para solucionar eso…
1 protege el libro u hoja o la celda
2 empieza a grabar una macro donde desproteges lo que hayas bloqueado (libro, hoja o celdas)
3 luego vuelves a proteger lo que tenias protegido
4 detienes la grabacion de la macro
5 cuando te vayas a editar la macro en medio de donde te salga el codigo de proteger y el de desproteger ahi copias el codigo que te ha dicho norberto, pero recuerda que solo puedes tener un solo private sub worksheet y un solo en sub, elige el de norberto y lo demas como te dije.
Nolberto lopez dice
no se pueden modificar celdas protegidas…
Anonymous dice
ME FUNCIONA DE MARAVILLA
PERO TENGO UNA DUDA AL PROTEGER CELDAS EN LA HORA PARA QUE NO SEA MANIPULADA ME MARCA UN ERROR EN
Target.Offset(0, 1) = tiempo
Nolberto lopez dice
Saludos Marcela.
puede usar este codigo.
Private Sub Worksheet_Change(ByVal Target As Range)
tiempo = Date
If Target.Column = 1 Then Target.Offset(0, 0) = tiempo
End Sub
Nolberto lopez dice
Saludos Amadeu…
para poner fecha y hora use el siguiente codigo.
Private Sub Worksheet_Change(ByVal Target As Range)
tiempo = Date & ” ” & Time
If Target.Column = 1 Then Target.Offset(0, 1) = tiempo
End Sub
Anonymous dice
Hola! Muy buen dato gracias!
Ahora yo quisiera que al ingresar un dato o hacer una modificación en una celda aparezca la facha actual pero en la misma celda, eso es posible?
Mil gracias por su ayuda!
Marcela
Anonymous dice
Hola, soy muy novato en macros pero voy intentando defenderme y agradezco sobremanera haber encontrado este blog.
Me gustaria que al introducir un dato en la columna A, además de la fecha en B apareciese la hora en C.
He hecho varias pruebas con Time e incluso llenar solamente B con DataTime, pero creo que mi inexperiencia me esta pasando factura.
Gracias por la ayuda.
Amadeu
Nolberto lopez dice
Private Sub Worksheet_Change(ByVal Target As Range)
tiempo = Date
If Target.Column = 1 Then Target.Offset(0, 1) = tiempo
End Sub
si modifica esto “Target.Column = 1” por esto “Target.Column = 2”
al modificar cualquier celda de la columna 2 (B) se pondrá la fecha en la columna de la derecha ( una columna a la derecha )
si modifica esta parte “Target.Offset(0, 1)” por esto “Target.Offset(0, 2)”
se pondrá la fecha dos columnas a la derecha
Target.Offset(0, 1) “antes de la coma se pone el numero de filas que debe moverse, después de la coma indica el numero de columnas que debe moverse.
Anonymous dice
Como se puede modificar ese codigo para que se usen en otras columnas?
EMEJIA dice
Muy buen aporte, Yo quiero algo muy parecido y es lo Siguiente: Solo quiero que me cambie la fecha en la celda B5 al modificar el conjunto de celda E8:E18, Observacion: estas ultimas celdas son combinadas o seas que contienen un conjunto de formulas.