Как вы, возможно, обнаружили, определение пустой ячейки в Word не так просто, как может показаться. Приведенный ниже код ищет первую ячейку, где длина текста в ячейке равна 1 после удаления любых пробелов, табуляции и vbCr. Вы могли бы расширить это, чтобы также искать vbLF, ручные разрывы строк и другие символы, которые могут быть в ячейке, но не видны, если у вас отключены текстовые маркеры представления.
Метод .Cells диапазона таблицы - это Наиболее подходящий инструмент для использования здесь, потому что он будет работать, даже если в таблице есть объединенные ячейки. Поиск таблицы с использованием координат ячеек не удастся, если в таблице есть объединенные ячейки. С помощью метода .Cells поиск по таблице осуществляется сверху слева и снизу справа (строка за столбцом).
Option Explicit
Sub Test()
Dim myCell As Word.Range
Set myCell = FirstEmptyCell(ActiveDocument.Tables(1).Range)
myCell.Select
End Sub
' Returns the first cell that has a text length of 1
' after removing spaces and tab characters from the cell text
Public Function FirstEmptyCell(ByVal TableRange As Word.Range) As Word.Range
Dim myCell As Word.Cell
For Each myCell In TableRange.Tables(1).Range.Cells
Dim CellText As String
CellText = myCell.Range.Text
CellText = Replace(CellText, vbTab, vbNullString)
CellText = Replace(CellText, " ", vbNullString)
CellText = Replace(CellText, vbCr, vbNullString)
If Len(CellText) = 1 Then
Set FirstEmptyCell = myCell.Range
Exit Function
End If
Next
End Function