Error de automatización al modificar una validación con VB

05/10/2004 - 18:11 por Waveland | Informe spam
Saludos a la comunidad!
Desde hace algunos días me estoy dando cabezazos con un error que me aparece
cuando intento modificar el rango de origen de una validación asignada a una
celda.
Este es el código:
With Worksheet(1)
.Unprotect ()
ThisWorkbook.Names("datos").Delete
.Range("P1:P6").Name = "datos"
With .Range("b27:c46").Validation
'Aqui es donde salta el error
.Modify Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=datos"
End With
.Protect ()
End With

El error es el siguiente:
Se ha producido el error ‘-2147417848 (80010108)’ en tiempo de ejecución:
Error de Automatización
 

Leer las respuestas

#1 Héctor Miguel
06/10/2004 - 02:15 | Informe spam
hola, Waveland !

... un error que me aparece cuando intento modificar el rango de origen de una validacion [...]
With Worksheet(1)
.Unprotect ()
ThisWorkbook.Names("datos").Delete
.Range("P1:P6").Name = "datos"
With .Range("b27:c46").Validation
'Aqui es donde salta el error
.Modify Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlBetween, Formula1:="=datos"
End With
.Protect ()
End With



suponiendo que te refieres a vb 'stand-alone'... ya que vba NO 'acepta'...
- que Worksheet(1) sea en 'singular' sino en plural ->Worksheets(1)<-
- ni los parentesis 'vacios' en el metodo [un]protect ...
[probablemente] el error 'asoma' cuando tratas de ->modificar<- un objeto 'validation' que... ¡ no existe !!! [?]
-> si es la primera vez que se les asigna validacion a las celdas, usa el metodo 'add' [NO 'modify']
[por otra parte] si las validaciones 'ya estan asignadas'...
-> es 'suficiente' con 'modificar' el rango al que 'apunta' ->el mismo nombre<- que YA usan las validaciones

¿comentas?
saludos,
hector.

Preguntas similares