Error al tener acceso a una fila o columna de una tabla

Cuando se intenta obtener acceso a determinada fila o columna de una tabla, puede producirse un error en tiempo de ejecución si la tabla no es uniforme. Por ejemplo, la siguiente instrucción envía un error si la primera tabla del documento activo no tiene el mismo número de filas en todas las columnas.

Sub RemoveTableBorders() 
 ActiveDocument.Tables(1).Rows(1).Borders.Enable = False 
End Sub

Para evitar que se produzca este error, seleccione primero las celdas de la fila o de la columna utilizando el método SelectColumn o SelectRow. Una vez seleccionadas, utilice la propiedad Cells con el objeto Selection. En el siguiente ejemplo, se selecciona la primera fila de la primera tabla del documento. La propiedad Cells se utiliza para obtener acceso a las celdas seleccionadas, todas las celdas de la primera fila, para que puedan quitarse los bordes.

Sub RemoveTableBorders() 
 ActiveDocument.Tables(1).Cell(1, 1).Select 
 With Selection 
 .SelectRow 
 .Cells.Borders.Enable = False 
 End With 
End Sub

En el siguiente ejemplo, se selecciona la primera columna de la primera tabla del documento. El bucle For Each...Next se utiliza para agregar texto a cada una de las celdas de la selección, todas las celdas de la primera columna.

Sub AddTextToTableCells() 
 Dim intCell As Integer 
 Dim oCell As Cell 
 
 ActiveDocument.Tables(1).Cell(1, 1).Select 
 Selection.SelectColumn 
 intCell = 1 
 
 For Each oCell In Selection.Cells 
 oCell.Range.Text = "Cell " & intCell 
 intCell = intCell + 1 
 Next oCell 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.