Страницы: 1
RSS
Постраничный итог в колонтитулах листа, Как поместить результаты вычислений в колонтитулы
 
Уважаемые гуру форума, подскажите пожалуйста, можно ли (и как, если можно) решить данный вопрос. Ситуация следующая: имеется страница с данными по остаткам на складе, требуется постраничный подсчет сумм на странице. Этот вопрос я решил следующим образом (хотя за любое возможное улучшение кода я был бы благодарен). Сейчас код повешен на кнопку, но в реальном файле активация будет другая:
Код
Private Sub CommandButton1_Click()
    Dim s As Double
    
    Range("G8:G109").ClearContents
    With ActiveSheet
        If .HPageBreaks.Count = 0 Then
            Cells(Cells(7 + Application.Max(.Range("A8:A109")), 1).Row, 7) = "Итого по стр. " & Format(Application.Sum(Range(Cells(8, 6), Cells(Cells(7 + Application.Max(.Range("A8:A109")), 1).Row, 6))), "0.00")
        Else
            Cells(Application.Max(.Range(Cells(8, 1), Cells(.HPageBreaks(1).Location.Row - 1, 1))) + 7, 7) = _
         "Итого по стр. " & Format(Application.Sum(Range(Cells(8, 6), Cells(Application.Max(.Range(Cells(8, 1), Cells(.HPageBreaks(1).Location.Row + 6, 1))), 6))), "0.00")
        
            For i = 1 To .HPageBreaks.Count - 2
                s = Application.Sum(Range(Cells(.HPageBreaks(i).Location.Row, 6), Cells(.HPageBreaks(i + 1).Location.Row - 1, 6)))
                Cells(.HPageBreaks(i + 1).Location.Row - 1, 7) = "Итого по стр. " & Format(s, "0.00")
            Next i
        
            Cells(Cells(7 + Application.Max(.Range("A8:A109")), 1).Row, 7) = _
        "Итого по стр. " & Format(Application.Sum(Range(Cells(.HPageBreaks(ActiveSheet.HPageBreaks.Count).Location.Row, 6), Cells(Cells(Application.Max(.Range("A8:A109")) + 7, 1).Row, 6))), "0.00")
        End If
    End With
End Sub


НО возник вопрос, а можно ли сделать так, чтобы результаты этого кода записывались не конкретные ячейки на листе (пусть и динамически вычисляемые), а в колонтитулы этого листа? Что нужно добавить в код (если такое конечно вообще реально), чтобы в указанном месте (я имею ввиду внизу или вверху, справа, по центру или слева) станицы отображались результаты вычисления? Заранее спасибо всем откликнувшимся.
 
Не думаю, что возможно применение разных колонтитулов для разных страниц одного листа. По крайней мере, я не нашел соответствующего свойства.

Колонтитул - это свойство объекта PageSetup, который относится к Sheet (например, ActiveSheet.PageSetup.CenterFooter). Т.е. оно общее для всех страниц листа, за одним исключением - разные колонтитулы для четных-нечетных страниц и особый колонтитул для первой страницы.

Может быть меня кто-то поправит, но, насколько понимаю, и в Word та же бяка - разные колонтитулы могут устанавливаться только для разных разделов, разной четности страниц и отдельно - первой страницы.
F1 творит чудеса
 
Жаль коли так. Решение было бы красивее. Спасибо за ответ
Страницы: 1
Наверх