xlValidateList
Publicado por EMarin (9 intervenciones) el 18/04/2010 17:46:08
Hola: Con código VBA pretendo limitar los valores a ingresar en una celda, dependiendo del valor de otra celda ubicada dos columnas a la izquierda. Los valores de las listas están en unos rangos con nombre (nom1, nom2, nom3, etc.).
El problema es que no me está funcionando: Por ejemplo cuando la celda (ubicada 2 columnas a la izquierda) contiene el valor "COMPRAS" la lista que se despliega es la correspondiente al rango 'num1' no la del rango 'num2' que es lo correcto. Ya revisé bien los rangos y sus nombres y están bien. ¿Cuál puede ser el problema?
Aquí va parte del código VBA:
If Left(ActiveCell.Address, 3) = "$R$" Then
ActiveSheet.Unprotect
If ActiveCell.Offset(0, -2).Value = "VENTAS" Then
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="=nom1"
End With
Else
If ActiveCell.Offset(0, -2).Value = "COMPRAS" Then
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="=nom2"
End With
Else
If ActiveCell.Offset(0, -2).Value = "LOGISTICA" Then
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="=nom3"
End With
El problema es que no me está funcionando: Por ejemplo cuando la celda (ubicada 2 columnas a la izquierda) contiene el valor "COMPRAS" la lista que se despliega es la correspondiente al rango 'num1' no la del rango 'num2' que es lo correcto. Ya revisé bien los rangos y sus nombres y están bien. ¿Cuál puede ser el problema?
Aquí va parte del código VBA:
If Left(ActiveCell.Address, 3) = "$R$" Then
ActiveSheet.Unprotect
If ActiveCell.Offset(0, -2).Value = "VENTAS" Then
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="=nom1"
End With
Else
If ActiveCell.Offset(0, -2).Value = "COMPRAS" Then
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="=nom2"
End With
Else
If ActiveCell.Offset(0, -2).Value = "LOGISTICA" Then
With ActiveCell.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="=nom3"
End With
Valora esta pregunta


0