Код Excell Print VBA сочетается с пользовательским нижним колонтитулом VBA

108
10

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

Я пробовал так много комбинаций, но я не знаю, что я делаю неправильно. Я получаю ошибку. Object does not support this property or method.

Sub PrintSummarySheet()

' PrintSummarySheet Macro

Sheets("Project Data Input").Select
With ActiveSheet.PageSetup
.CenterFooter = .Range("C6").Text And .Range("F2").Text _
And .Range("F4").Text And .Range("F5").Text

End With
Sheets(Array("Project Data Input", "Project Estimate Summary")).Select
Sheets("Project Data Input").Activate
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Sheets("INSTRUCTIONS").Select
Sheets("Project Data Input").Select

End Sub

спросил(а) 2021-01-25T16:05:22+03:00 4 месяца, 3 недели назад
1
Решение
62

Вы используете With ActiveSheet.PageSetup но на следующей строке вы пытаетесь ссылаться на PageSetup Worksheet а не на PageSetup, делая .Range(...).

Вам необходимо заменить .Range(...) на ActiveSheet.Range(...).

Run-time error 13 Type mismatch происходит из-за того, что вы используете And для конкатенации текста вместо оператора конкатенации &

.Range("C6").Text And .Range("F2").Text _
And .Range("F4").Text And .Range("F5").Text

Должно быть:

.Range("C6").Text & .Range("F2").Text & _
.Range("F4").Text & .Range("F5").Text

ответил(а) 2021-01-25T16:05:22+03:00 4 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема