1

У меня есть таблица в программе Word, как показано ниже:

Образец изображения

Открыв этот файл таблицы, я должен увеличить или уменьшить количество строк. Поэтому я не могу использовать формулу для суммы сезонов (потому что номера ячеек меняются). По вашему мнению, как я могу суммировать значения « Всего сезона 1 » и « Всего сезона 2 » и поместить их в « Всего сезонов »? Как вы думаете, могу ли я получить помощь от слов "Total Season" или выбора жирных слов в VBA?

2 ответа2

1

Здравствуйте, дорогие друзья, которые пытались мне помочь! Я работал над этой темой в тот же день, и мне удалось решить проблему, написав следующий код. Я поставил этот код здесь для всех. Если друзья хотят, они могут предоставить лучшие коды для более быстрого и быстрого запуска. будь счастлив...

Sub CalculatingTotalSeasons()
ActiveDocument.Tables(1).Select
Selection.Copy
    Selection.EndKey Unit:=wdStory
    Selection.TypeParagraph
    Selection.PasteAndFormat (wdFormatOriginalFormatting)

    Dim t As Table
    Dim r As Row
    Dim ts As String
    Set t = ActiveDocument.Tables(2)

    ts = "Total Season"
    For Each r In t.Rows
        If Left(r.Cells(1).Range.Text, 12) <> ts Then r.Delete
    Next r

With ActiveDocument.Tables(2)
    ActiveDocument.Tables(2).Cell(1, 1).Select
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "Total Seasons"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
    End With
    Selection.Find.Execute
    Selection.MoveRight Unit:=wdCell
    Selection.InsertFormula Formula:="=SUM(ABOVE)", NumberFormat:=""
    Selection.MoveLeft Unit:=wdCell
    Selection.MoveRight Unit:=wdCell
    Selection.Copy
    ActiveDocument.Tables(2).Delete
End With

ActiveDocument.Tables(1).Select
With ActiveDocument.Tables(1)
    ActiveDocument.Tables(1).Cell(1, 1).Select
    Selection.Find.ClearFormatting
    With Selection.Find
        .Text = "Total Seasons"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
    End With
    Selection.Find.Execute
    Selection.MoveRight Unit:=wdCell
    Selection.PasteAndFormat (wdFormatPlainText)
End With

End Sub
1

Чтобы таблица в Word выполняла автоматическое суммирование значений, необходимо выполнить шаги форматирования. Ниже приведен пример того, как может выглядеть конечный результат.

Затененные значения на изображении ниже создаются из полей формулы. Чтобы формула «= SUM(ABOVE)» работала в строках промежуточных итогов, между частями таблицы должна быть пустая строка или нечисловая ячейка. Красные стрелки указывают на вставленные пустые строки. Я сделал их очень узкими, чтобы они выглядели просто как разделитель строк, но на самом деле это пустые строки.

Для расчета итоговой суммы, которая представляет собой сумму двух промежуточных итогов, каждая формула промежуточных итогов заключена в закладку. Для этого примера они называются Материалы и Услуги.

Формулы поля показаны на рисунке ниже. Они включают в себя код, необходимый для форматирования.

Чтобы обновить таблицу после добавления новых строк данных, выберите таблицу и нажмите клавишу F9.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .