Область печати - String
, а не Object
.Таким образом, вы можете написать это:
.PrintArea = "$A$19:$J$32, $A$11:$J$17, $A$34:$J$38"
или вы можете работать с String
переменными.Если вы придерживаетесь диапазонов, используйте .Address
следующим образом:
Dim rng1 As Range, rng2 As Range, rUni As Range
.PrintArea = rng1.Address & "," & rng2.Address
или
Set rUni = Union(rng1, rng2)
.PrintArea = rUni.Address
В обоих последних примерах получается строка, подобная приведенной в 1-м примере.
Интересно, что установка области печати таким разбросанным способом приводит к печати всех отдельных диапазонов на отдельных страницах.Я не знаю, как это решить.