Страница 1 из 1

Подскажите пожалуйства как в Word

Добавлено: 05 окт 2008, 15:09
lebmax
Подскажите пожалуйства как в Wordе, в таблице в выделенном диапазоне вставить один знак(слово)

Re: Подскажите пожалуйства как в Word

Добавлено: 05 окт 2008, 19:32
Serge_Bliznykov
lebmax, а чем макрорекордер не устраивает?
вот, им записалось (вставляется символ "—"):

Код: Выделить всё

Selection.TypeText Text:="—"

Добавлено: 13 окт 2008, 17:27
Aent
Вопрос: Мне надо работать с одним выделенным столбцом, на пример округлить, как бы это сделать

Ответ:Пройтись в цикле по ячейкам ...http://forum.developing.ru/showpost.php ... ostcount=8

Re: Подскажите пожалуйства как в Word

Добавлено: 09 ноя 2008, 05:22
AlexEL
Dim C as Cell
For Each C in Selection.Range.Cells
' делаем что надо в C.Range
next C

Re: Подскажите пожалуйства как в Word

Добавлено: 09 ноя 2008, 19:23
Aent
А выбрать колонку можно например так:

Код: Выделить всё

'Выбираем 3-ю колонку второй таблицы
ActiveDocument.Tables(2).Columns(3).Select

Re: Подскажите пожалуйства как в Word

Добавлено: 09 ноя 2008, 19:24
Aent
Для получения округлённого значения столбца слева можно поместить в каждую ячейку столбца справа от данных следующий код поля WORD
{=ROUND(SUM(LEFT);1)}
Это округление до одного знака поле запятой
Естесвенно, что после изменения данных вычисляемые поля надо обновлять

Re: Подскажите пожалуйства как в Word

Добавлено: 09 ноя 2008, 19:29
Aent

Код: Выделить всё

Public Sub ОкруглениеТретьегоСтобцаПервойТаблицы()
    Dim i As Long
    Dim s As String
    With ActiveDocument.Tables(1)
       'Предполагаем что в первой строчке таблицы заголовок
        For i = 2 To .Rows.Count
            s = .Cell(i, 3).Range.Text                        'берём текст из ячейки
            s = Trim$(Replace(s, Chr(7), vbNullString)) ' убираем хвост ячейки и лишние пробелы
            s = Replace(s,Chr(13),vbNullString)
            s = Replace(s, ".", Format(0, "#.#"))       'нормализуем национальный десятичный разделитель
            s = Format$(Round(CSng(s), 1), "0.#")  'конвертируем в Signed, округляем и конвертируем в строку
            .Cell(i, 3).Range.Text = s                        'изменяем значение ячейки
        Next i
    End With
End Sub