2013-04-07 84 views
0

我想从我的VBA代码中指定一个范围作为页眉。Excel VBA - 将范围指定为页眉

但是,当我确实

ActiveSheet.PageSetup.LeftHeader = HeaderSheet.Range("A1:L2").Value 

我从HeaderSheet仅需第一小区即A1作为页标题,并忽略其余部分。它也不会在页眉中应用边框。

任何解决此问题的方法吗?

回答

1

所以“左标题”将是描述表格或报告的三个标题的最左边的标题。通常情况下,它将具有诸如报告标题,作者,报告日期等值。

您确定您不是要表明行或列标题吗?

下面,PrintTitleRows指定行1 & 2用作要在顶部重复的行。或者左侧重复的列只是“A”列。

Sub example() 

    'ActiveSheet.PageSetup.LeftHeader = HeaderSheet.Range("A1:L2").Value 

    With ActiveSheet.PageSetup 
     .PrintTitleRows = "$1:$2" 
     .PrintTitleColumns = "$A:$A" 
    End With 
End Sub 

如果你没有真正打算把单元格A1-L2到最左侧的标头部分的内容,那么你就必须做电池的串联,我相信......即,

With ActiveSheet.PageSetup 
    .LeftHeader = Range("a1").Value & " " & Range("b1").Value & " " & Range("a2").Value & " " & Range("b2").Value 
End With 
+0

@LurinS:PrintTitleRows是我想要的。非常感谢:) – Tejas 2013-04-08 05:11:18

+1

只需添加一个便条。我确实相信第一个例子是缺少一个'End With'语句。至少当我在代码中使用此代码段时,它是必需的。 – 2016-04-22 16:01:48

+0

调整以反映克里斯托弗的反馈。谢谢 – 2016-04-29 20:25:01