Есть такой алгоритм:
Sub test()
Dim tbl As Table, i As Long
Set tbl = Selection.Tables(1)
For i = 1 To tbl.Rows.Count
tbl.Cell(i, 1).Range.text = Replace(tbl.Cell(i, 1).Range.text, "word*","word1")
Next i
End Sub
Макрос пробегает построчно первый столбец таблицы в ворде и заменяет слово word* на word1. Возникла небольшая проблема: Replace возвращает строку с переходом на новую строку, в результате в таблице появляются пустые строки, как при нажатии на Enter после каждой строки! Есть ли возможность избавить от пустых строк в этом алгоритме?
Макрос
Sub test()
Dim tbl As Table
Dim var, i As Long
Set tbl = Selection.Tables(1)
For i = 1 To tbl.Rows.Count
' Копируем данные из ячейки в переменную.
var = tbl.Cell(i, 1).Range.Text
' Удаляем с конца два спецсимвола: один символ в виде кружка (его видно
' в режиме "непечатаемые символы"), второй символ вообще не видно.
var = Left(var, Len(var) - 2)
' Замена и запись изменённых данных обратно в ячейку.
tbl.Cell(i, 1).Range.Text = Replace(var, "word*", "word1")
Next i
End Sub
Спасибо огромное!!!