Jump to content

Necesito acabar este codigo que introduce la hora en una celda


Recommended Posts

He realizado este codigo para que cuando escriba en la columna A se rellene con la hora en la casilla E.

Ahora necesitaría que si borro el dato de la celda por ejemplo a1 se borrara la celda e1 y sucesivamente, es decir que si quito la información de alguna celda de la columna "a" se borrara la celda e correspondiente. 

Gracias

 

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("a:a")) Is Nothing Then

Range("e" & Target.Row) = Format(Now, "hh:mm")

End If

End Sub

Link to post
Share on other sites

Hola Helena,

A ver sí te vale esto.

Private Sub Worksheet_Change(ByVal Target As Range)
   With Target
      If .Column = 1 Then
         Application.EnableEvents = False
         .Offset(, 4) = Format(Now, "hh:mm")
         If Len(.Text) = 0 Then .Offset(, 4) = ""
         Application.EnableEvents = True
      End If
   End With
End Sub

 

Link to post
Share on other sites

Perdonadme pero soy super novata 

Private Sub Worksheet_Change(ByVal Target As Range)
   With Target
      If .Column = 1 Then
         Application.EnableEvents = False
         .Offset(, 4) = Format(Now, "hh:mm")
         If Len(.Text) = 0 Then .Offset(, 4) = ""
         Application.EnableEvents = True
      End If
   End With
End Sub

este código funciona fenomenal cuando borro los datos de la celda a18 se borrar los datos de la celda e18 y ¿si quisiera borrar además de la e18, la f18? 

Link to post
Share on other sites
En 24/9/2020 at 17:17 , helenaberdasco dijo:

Perdonadme pero soy super novata 





Private Sub Worksheet_Change(ByVal Target As Range)
   With Target
      If .Column = 1 Then
         Application.EnableEvents = False
         .Offset(, 4) = Format(Now, "hh:mm")
         If Len(.Text) = 0 Then .Offset(, 4) = ""
         Application.EnableEvents = True
      End If
   End With
End Sub

este código funciona fenomenal cuando borro los datos de la celda a18 se borrar los datos de la celda e18 y ¿si quisiera borrar además de la e18, la f18? 

ikani siento molestarte, me diste este código para que si modificaba la columna "a" se rellenaran la celda E, pero como no tengo ni idea he cambiado la tabla y ahora necesito que cuando la columna "C16" se modifique se incluya en la columna "b16" la fecha y así es las siguientes celdas.

Link to post
Share on other sites
Hace 19 horas, helenaberdasco dijo:

ikani siento molestarte, me diste este código para que si modificaba la columna "a" se rellenaran la celda E, pero como no tengo ni idea he cambiado la tabla y ahora necesito que cuando la columna "C16" se modifique se incluya en la columna "b16" la fecha y así es las siguientes celdas.

Private Sub Worksheet_Change(ByVal Target As Range)
   With Target
      If .Column = 3 Then ' Si la celda cambiada petenece a la coluna 3 = "C", entramos ...
         Application.EnableEvents = False 'Desactivo eventos porque voy hacer cambios en las celdas
         .Offset(, -1) = Format(Now, "hh:mm") 'Ponemos la hora en la celda, una celda a la Izq, de la celda modificada
                                             ' que si estamos en "C" ==> "B"
         If Len(.Text) = 0 Then .Offset(, -1) = "" ' Evaluo : Sí En la celda cambiada no hay nada, elimino
                                                  ' lo que hay en la celda una a la Izq
         Application.EnableEvents = True 'Activamos eventos 
      End If
   End With
End Sub

Te dejo el código comentado para que el próximo cambio te lo puedas apañar tú.

Saludos

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Antes de exponer las conclusiones, agradecer a John y Antoni su tiempo y conocimiento en la resolución del problema. Antoni, las dos soluciones aportadas han funcionado como un "tiro". A mayores, la segunda opción funciona tanto, si la modificación se realiza a través del recálculo con fórmulas, como si dicha modificación de la columna TOTAL HORAS se realiza de forma manual con introducción directa del dato. Sois unos Crack... Muchas, muchísimas gracias. Desde ya un nuevo Fan. Mes salut i força 😂
    • Muchas gracias Antoni, lo pruebo y  te digo. ¡Salut...!
    • Puedes utilizar cualquiera de las 2 macros (O una o la otra, no las dos a la vez) Private Sub Worksheet_Change(ByVal Target As Range): On Error Resume Next '------------------------ 'En la hoja Base de datos <-------------------------------------------- '------------------------ If Not Intersect(Target, Range("C:C")) Is Nothing Then With Sheets("Rango prueba 1") Application.EnableEvents = False .Range("C12:K122").Sort Key1:=.Columns("K"), Order1:=xlDescending, Header:=xlYes .Range("C127:K237").Sort Key1:=.Columns("K"), Order1:=xlDescending, Header:=xlYes Application.EnableEvents = True End With End If End Sub   Private Sub Worksheet_Calculate(): On Error Resume Next '------------------------- 'En la hoja Rango prueba 1 <------------------------------------------- '------------------------- Application.EnableEvents = False Range("C12:K122").Sort Key1:=Columns("K"), Order1:=xlDescending, Header:=xlYes Range("C127:K237").Sort Key1:=Columns("K"), Order1:=xlDescending, Header:=xlYes Application.EnableEvents = True End Sub  
    • Hola @Luis Caballero la cosa es que no tengo mucha idea, lo que quería es que al poner aula 3 por ejemplo salieran los cursos que se dan en ese aula durante todo el mes y si cambias a aula 4 y vuelves a filtrar, que cambie la ocupación a la pertinente, lo primero que habría que hacer es rellenar todas las ocupaciones, pero no puedo porque se superponen los cursos porque no cambia el calendario por cada aula que seleccionas.   Si vas a octubre te sale "MI" el jueves 8.10 en todas las aulas, por ejemplo eso debería salir solo en aula 3 y así con todo.   muchas gracias por el tiempo.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy