Celdas protegidas

Hola de nuevo Fejoal.
Es continuación a una pregunta que te ralicé, la cual me respondiste bien aunque no era exactamente lo que quería.
Lo que deseaba es lo siguiente:
Supongamos que tengo bloqueadas todas las celdas de una hoja excepto la A2, A8, A14, A16, A26 y B2. Deseo que al introducir datos en A2 y confirmar pulsando "ENTER" salte el cursor a la celda A8 y así sucesivamente hasta llegar a la A26 que debería de pasar a la B2.
Saludos.

1 respuesta

Respuesta
1
OK. Digamos, primero, que no existe tal movimiento entre celdas protegidas.
"Tab" lleva hacia la derecha y hacia abajo, si la protección está activa.
"Enter" irá a la celda de abajo, protegida o no, siempre que la opción de moverse después de Enter estuviera marcada.
De todos modos, para no dejarte sin respuesta, me tomé un tiempo en desarrollar esta macro que emula tu situación.
Deberás insertarla en un módulo de VBA y modificar -donde te indico- los límites de columna y fila donde la macro debe ejecutarse, o sea, el área de carga de datos (como para que sepa cuándo detenerse)
Este es el código:
Sub cargaProt()
Dim statretD As Variant
Dim statreturn As Boolean
Dim ColNbr, RowNbr, ColNxt As Integer
'miluno: indica cuál es la última fila de carga de la matriz:
RowNbr = 26
'miluno: indica cuál es la última columna de carga de la matriz:
ColNbr = 2
'===============================
statreturn = Application.MoveAfterReturn
statretD = Application.MoveAfterReturnDirection
Application.MoveAfterReturnDirection = xlDown
ColNxt = 0
Do While ColNxt <= ColNbr
Do While ActiveCell.Row < RowNbr
Do While ActiveCell.Locked
ActiveCell.Offset(1, 0).Select
If ActiveCell.Row >= RowNbr Then
Exit Do
End If
Loop
If Not ActiveCell.Locked Then
ActiveCell.Formula = InputBox("Ingrese dato para celda " + ActiveCell.Address(False, False))
ActiveCell.Offset(1, 0).Select
End If
Loop
ColNxt = ColNxt + 1
Range("A1").Offset(0, ColNxt).Select
Loop
Application.MoveAfterReturn = statreturn
If statreturn Then
Application.MoveAfterReturnDirection = statretD
End If
End Sub
Sinceramente, espero que te sirva.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas