2012-01-25 24 views
7

Recibo este error cuando cargo mi hoja de cálculo. Me hace repararlo, lo que quita todos los validadores. El archivo se guarda como un xlsm.Excel sigue cargando mi hoja de cálculo con un error

"Excel encontró contenido ilegible en '' ¿Se wnat para recuperar el contenido de este libro. Si confía en el origen de este libro, haga clic en sí"

Tiene que hacer clic en Sí o no se cargará . Entonces obtengo este error. "Excel fue capaz de abrir el archivo mediante la eliminación o la reparación de la función de contenido ilegible Eliminado: Validación de datos de la parte /xl/worksheets/sheet1.xml"

tengo ni idea sobre esto, y es realmente molesto . Si alguien tiene alguna sugerencia, estaría muy agradecido. Gracias, James

Respuesta

7

He recibido ese error cuando tenía una larga lista de validación de datos definida en el diálogo de validación de datos en sí (aunque no puedo reproducirlo ahora). Si tiene una lista larga en el cuadro de diálogo, intente mover la lista a un rango y luego consultar el rango.

+0

Muchas gracias por el consejo, se puede describir lo una larga lista de validación de datos sería. Estoy generando todos mis validadores en este momento usando vba, ya que había renunciado a usar los validadores de datos estándar en el menú de Excel. – James

+0

Es el tipo de validación que crea una lista desplegable, algo así como: ActiveCell.Validation.Add Type: = xlValidateList, Formula1: = "tester1, tester2, tester3" ... –

+0

Suena como exactamente lo que estoy usando. ¿Cómo usaría un rango en su lugar? ¿Tienes algún código de ejemplo, por favor? Esto suena realmente prometedor. – James

4

Acabo de tener este mismo problema con mi libro de trabajo. Encontré este enlace el más útil: https://stackoverflow.com/a/21483680/3653412.

Si bien la respuesta aceptada en última instancia habría abordado el problema para mí (la reconstrucción del libro de trabajo), habría tomado una cantidad significativa de tiempo. Limpiar los campos de clasificación finalmente resolvió el problema para mí.

Sub clearSortFields() 
Dim ws as worksheet 
ThisWorkbook.Activate 
For Each ws In Worksheets 
    ws.Sort.SortFields.Clear 
Next ws 
End Sub 
0

Esto es lo que hice para solucionarlo, me llena de lo que quería en la lista por una columna de otra hoja del libro y luego referenciado esa hoja. Hice el nombre de la hoja Me refiero a la lista de SheetName (simplemente coloque el nombre de su hoja aquí) y A2: A19 está haciendo referencia a esas celdas de la hoja de referencia. Esto también hace que sea más fácil editar la lista si es necesario.

Sub Test() 
 
Worksheets("Sheet1").Activate 
 
With rng.Validation 
 
    .Delete 
 
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
 
    xlBetween, Formula1:="=SheetName!$A$2:$A$19" 'Replace SheetName and the range with yours 
 
End With 
 
End Sub

1

eliminando las células de validación y una vez que ejecuta el código para revalidar en abierto del libro soluciona este problema

Sub RemValidation() 
Dim ARows As Variant 
Dim i As Double 
ARows = Split("C3,C4,C5,C6,C14,C19,C20,C25,F4", ",") 

For i = 0 To UBound(ARows) 
ThisWorkbook.Sheets("WO").Range(ARows(i)).Validation.Delete 
Next 

End Sub 
Cuestiones relacionadas