es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Eliminando filas innecesarias de una tabla: Error 5941 – El miembro solicitado de la colección no existe

Este código está eliminando filas innecesarias de una tabla:

With ActiveDocument.Tables(tblcount - a)
    For i = .Rows.Count To 1 Step -1
        If Len(.Cell(i, 1).Range.Text) = 3 Then
            .Rows(i).Delete
        ElseIf Len(.Cell(i, 2).Range.Text) = 3 Then
            .Rows(i).Delete
        End If
    Next i
End With

Funciona en varios documentos, pero no en algunos.

Devuelve:

Error en tiempo de ejecución '5941': El miembro solicitado de la colección no existe.

Cuando depuro, muestra que ElseIf Len(.Cell(i, 2).Range.Text) = 3 Then tiene el error.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    El fragmento de código se utiliza para eliminar filas innecesarias de una tabla en un documento de Word utilizando VBA. El bucle For itera a través de todas las filas de la tabla en orden inverso, y si la longitud de la primera o segunda celda de una fila es 3, se elimina esa fila.

    Sin embargo, el código se encuentra con un error en tiempo de ejecución ‘5941’ en algunos documentos, específicamente en la línea que contiene ElseIf Len(.Cell(i, 2).Range.Text) = 3 Then. El mensaje de error sugiere que el miembro solicitado de la colección no existe. Esto podría significar que el código está intentando acceder a una tabla o celda que no existe en el documento.

    Para solucionar el error, se debe verificar el código para asegurarse de que solo esté apuntando a tablas que realmente existen en el documento. Es posible que el código esté asumiendo la existencia de una tabla o que el índice de la tabla sea incorrecto. Además, se debe verificar el documento para ver si tiene algún formato inusual o estilos diferentes que podrían estar causando problemas con el código VBA.

Comments are closed.