Страницы: 1
RSS
Задать размер шрифта в колонтитуле., Как записать колонтитул и правильно считать?
 
Добрый день,

В моем макросе я записываю в верхний колонтитул нужный мне текст 8 шрифтом:
Код
ActiveSheet.PageSetup.RightHeader = "&8Мой текст"

В другом модуле считываю его:
Код
T_kol = App.ActiveSheet.PageSetup.RightHeader

И вместо ожидаемого T_kol = Мой текст получаю T_kol = &8Мой текст. Как нужно делать правильно, чтобы и размер колонтитула задать и правильный текст считать?
 
Вариант:
Код
Option Explicit
Dim T_kol As String

Sub Right_Colontit()
    T_kol = "&8Мой текст"
    ActiveSheet.PageSetup.RightHeader = T_kol
End Sub

Sub Stroka_()
MsgBox Mid(T_kol, 3, 100)
End Sub
 
Спасибо.
Хм, обрезать самое логичное решение. Сейчас так и делаю, но я думал не правильно что-то делаю.
 
правильно задать свойство .Font.Size = 8 соотв. обьекту
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
ActiveSheet.PageSetup.RightHeader = "Мой колонтитул"
ActiveSheet.PageSetup.RightHeader.Font.Size = 10

Получаю ошибку
Цитата
Run-time error '424':
Object required
 
Доброе время суток.
Цитата
den500 написал:
Получаю ошибку Run-time error '424':
Правильно, RightHeader - это свойство со значением типа текст. Изучаем Formatting and VBA codes for headers and footers
P. S. Несколько погорячился с ответом.
 
Цитата
den500 написал:
В моем макросе я записываю в верхний колонтитул нужный мне текст
В другом модуле считываю его
Не рационально загадывать самому себе загадки. Лучше текст без символов форматирования дополнительно записать в (скрытую) ячейку листа или в свойство книги.
Изменено: sokol92 - 11.06.2019 11:48:25
Владимир
 
Добрый день
Написал простой макрос для автоматической вставки колонтитула из заполняемой ячейки
но не получается изменить размер шрифта
как это сделать?

Sub Signature()

With ActiveSheet.PageSetup
ActiveSheet.PageSetup.RightFooter.Font.Size = [AB1]
ActiveSheet.PageSetup.RightFooter.Font.Size = 10
End With
End Sub

выдаёт ошибку
 
включите макрорекордер
задайте вручную
отключите макрорекордер
изучайте полувшийся макрос
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Sub Signature()

With ActiveSheet.PageSetup
ActiveSheet.PageSetup.RightFooter = [AB1]
.RightFooter.Font.Size = 28 (здесь выдаёт ошибку)
End With
End Sub


Если делать через & то перестаёт видеть ссылку на ячейку

P.S.
Только начинаю осваивать макросы и не совсем понимаю как включить выключить макрорекордер и что значит задать вручную
Изменено: Александр Бедрицкий - 23.02.2023 21:41:32
 
Цитата
Александр Бедрицкий написал:
Sub Signature()

With ActiveSheet.PageSetup
ActiveSheet.PageSetup.RightFooter = [AB1]
.RightFooter.Font.Size = 28 (здесь выдаёт ошибку)
End With
End Sub


Если делать через & то перестаёт видеть ссылку на ячейку

P.S.
Только начинаю осваивать макросы и не совсем понимаю как включить выключить макрорекордер и что значит задать вручную

Попробовал макрорекордер
через обычные настройки Excel не получается поставить ссылку на ячейку в поле колонтитула
соответственно и макрос пишется неправильно
 
Код
Sub Test()
    With ActiveSheet.PageSetup
        .RightFooter = "&28 " & Range("AB1").Value '28 - это размер шрифта, AB1 - ячейка в текстом на листе
    End With
End Sub
Изменено: New - 24.02.2023 00:07:46
Страницы: 1
Наверх