Desbloquear celdas...
Publicado por Joaquin Orantes (3 intervenciones) el 21/08/2007 02:08:12
Necesito validar la entrada de datos en una hoja de Excel:
En la columna A, solo se deben aceptar valores numéricos, mientras que la columna B puede ser activada solo si la columna A tiene algún valor aceptable, de lo contrario, la columna B no puede ser modificada.
Ya intenté hacerlo con el código de abajo, pero mi conocimiento solo me permite lograrlo para las celdas A1 y B1. ¿Qué código debo utilizar para que me funcione en toda la columna sin repetirlo para cada celda?
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Protect UserInterfaceOnly:=True
If Not IsNumeric(Range("A1")) Then
MsgBox "El valor de esta celda debe ser numérico. Intente de nuevo.", vbCritical
Range("A1").ClearContents
ElseIf Range("A1") <> "" Then
Range("B1").Locked = False
Worksheets("Sheet1").Protect
Else
Range("B1").Locked = False
Worksheets("Sheet1").Protect
Range("B1").Clear
Range("B1").Locked = True
Worksheets("Sheet1").Protect
End If
End Sub
¡Muchas gracias por su ayuda!
En la columna A, solo se deben aceptar valores numéricos, mientras que la columna B puede ser activada solo si la columna A tiene algún valor aceptable, de lo contrario, la columna B no puede ser modificada.
Ya intenté hacerlo con el código de abajo, pero mi conocimiento solo me permite lograrlo para las celdas A1 y B1. ¿Qué código debo utilizar para que me funcione en toda la columna sin repetirlo para cada celda?
Private Sub Worksheet_Change(ByVal Target As Range)
ActiveSheet.Protect UserInterfaceOnly:=True
If Not IsNumeric(Range("A1")) Then
MsgBox "El valor de esta celda debe ser numérico. Intente de nuevo.", vbCritical
Range("A1").ClearContents
ElseIf Range("A1") <> "" Then
Range("B1").Locked = False
Worksheets("Sheet1").Protect
Else
Range("B1").Locked = False
Worksheets("Sheet1").Protect
Range("B1").Clear
Range("B1").Locked = True
Worksheets("Sheet1").Protect
End If
End Sub
¡Muchas gracias por su ayuda!
Valora esta pregunta
0