Jump to content

Situar el cursor y la pantalla al principio de semana en una lista de fechas


Recommended Posts

Buenas tardes. Estoy intentando, mediante VBA, conseguir que me sitúe la pantalla al principio de semana en una lista de fechas y el cursor en la fecha actual. Es decir, tengo lo que podéis ver en la Imagen1, y cuando la fecha actual sea, por ejemplo, el martes, 8 de diciembre, que se coloque como en la Imagen2, y así sucesivamente (es decir, que en el resto de la semana aparezca en pantalla primero el lunes, y el cursor en la fecha que sea). Pongo esa fecha del 8 de diciembre para tener una columna bastante lejos de las primeras columnas.

Estas son las pruebas que he realizado pero no doy con la tecla:

Sub IrADiaDeHoy()
    Dim Celda As String
    'Celda = Range("1:1").Find(Date).Address
    Celda = "q1"
    'Application.Goto Range("A1"), True
    If Weekday(Range(Celda), vbMonday) = 1 Then
        Application.Goto Range(Celda), False
    Else
        MsgBox Weekday(Date, vbMonday) * -1
        Application.Goto Range(Celda).Offset(0, Weekday(Date, vbMonday) * -1), False
        'Range(Celda).Select
    End If
    'Range(Celda).Offset(1, 0).Select
End Sub

 

Imagen1.jpg

Imagen2.jpg

Link to post
Share on other sites

Aquí dejo la solución:

Sub IrADiaDeHoy()
    Dim Lunes As Variant
    Dim CeldaLunes As Variant
    Dim CeldaHoy As String
    
    Application.ScreenUpdating = False
    Lunes = IIf(Weekday(Date) = 2, Date, IIf(Weekday(Date) = 1, Date - 6, Date - (Weekday(Date) - 2)))
    Set CeldaLunes = Range("1:1").Find(Lunes, LookIn:=xlFormulas)
    Application.Goto CeldaLunes, True
    CeldaHoy = Range("1:1").Find(Date, LookIn:=xlFormulas).Address
    Range(CeldaHoy).Offset(1, 0).Select
    Application.ScreenUpdating = True
    ActiveSheet.Protect
End Sub

 

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
  • Crear macros Excel

  • Posts

    • Hola a todos. Quiero saber si hay alguna forma de actualizar automáticamente el número de columna de la función BUSCARV. Me sucede que a veces debo modificar la matriz de origen de datos insertando una columna pero en BUSCARAV el número de columna se mantiene cambiando los resultados porque ya no se refiere a la columna que originalmente se refería. Gracias  
    • Hola @Haplox la celda I21 que actualiza K4 es una formula y la celda I22 que actualiza M1 está en blanco para introducir un valor. El problema radica en lo siguiente. A cada hoja se le puede agregar o quitar filas por lo que la ubicación de I21 e I22 puede subir o bajar. La forma que encontré para solucionar este problema y que no me afectara otras macros que tiene cada hoja es a través de la formula en K4 y M1 que son filas donde están los títulos y nunca van a ser eliminadas. Creo que con tu propuesta al eliminar o agregar filas el resultado no será el deseado.
    • Millones de gracias por tu apoyo Héctor Miguel!!!! 💖 Con tu aclaratoria doy por cerrado el tema. Quedo infinitamente agradecida y a tus órdenes. Saludos cordiales, Jeani        
    • MAQUINAAAAA. Le encontre otro pequeño bug, pero sin importancia y probe una forma con la que subsanarlo, aun asi te lo digo cuando filtras aparecen todos los comentarios perfectos. Si despues en la tabla 1 ordenas por numero de recibo por ejemplo se aprecia que el orden en el que aparecen las cosas en resultado cambia tambien, sin embargo los comentarios siguen estando como al principio. Mi solucion (basica....) vuelvo a poner los parametros de busqueda y ya se cargan los comentarios actualizados. Muchisimas gracias por todo, ya en base a esto ya lo amoldo a mi hoja Mil gracias de nuevo
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy