Condicionar selección de excel

Hola Elsa espero que estés bien, fíjate que tengo una duda bien grande, como puedo efectuar que el selector de excel solo se mueva por las celdas que no tengo bloqueadas, a modo de que cuando llegue a la ultima celda desbloqueada, vuelva a la primera, ¿si me explico?, por tu tiempo, muchas gracias y por tu conocimiento, felicidades.

1 Respuesta

Respuesta
1
Esta respuesta fue dejada hace un tiempo en el tablón, creo que perteneció al experto Fejoal.
La colocas en el Editor, en el objeto Hoja donde quieras que esto se ejecute. Faltan declarar las variables y deberás ajustarla a tus rangos.
'Define aquí el rango amplio que
'comprenda a las celdas habilitadas:
Const SupIzq = "C1"
Const InfDer = "I20"
'------------------ gracias
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
fila = Range(SupIzq).Row
FilZ = Range(InfDer).Row
ColA = Range(SupIzq).Column
ColZ = Range(InfDer).Column
'Controla que selección actual esté dentro del rango indicado
If Application.Intersect(Range(SupIzq, InfDer), ActiveCell) Is Nothing Then
Range(SupIzq).Select
End If
FilT = ActiveCell.Row
ColT = ActiveCell.Column
ColsChk = 0
'Busca celda permitida desde la actual en adelante
88:
If ActiveCell.Locked Then
Application.ScreenUpdating = False
Application.EnableEvents = False
For ActCol = ColT To ColZ
QueFila = IIf(ColsChk = 0, FilT, fila)
For ActFil = QueFila To FilZ
ActiveCell.Offset(1).Select
If ActiveCell.Locked = False Then GoTo Final
Next ActFil
ColsChk = ColsChk + 1
ActiveCell.Offset(fila - FilZ, 1).Select
Next ActCol
Else
GoTo Final
End If
'Busca celda permitida desde inicio de rango amplio
If ActiveCell.Locked Then
Range(SupIzq).Select
ColT = ActiveCell.Column
GoTo 88
End If
Final:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Espero lo puedas adaptar a tus datos, sino me avisas.
Esta complicadillo para mi porque estoy en pañales en cuestión de macros y visual, pero apenas pueda lo aplico y si tengo duda te escribo, ¿ok?.
Muchos saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas