Excel VBA创建标题错误

时间:2017-01-11 13:32:58

标签: excel vba excel-vba header

我目前正在使用下面的宏来根据电子表格“参考”中的单元格B3的内容自定义标题,并且现在已经使用了它。

我目前遇到的问题是标题字体变得非常大。标题变得如此之大,以至于如果我打印电子表格(我经常使用此文件),它会垄断整个页面 - 换句话说 - 标题会超过整个打印区域,因为它太大了。

是否有人能够看到宏出现问题的地方,或者知道为什么会发生这种情况以及如何解决这个问题?

----

'=========================================================================
'  Custom Header based on value of specified cell
'=========================================================================

Sub HeaderFont()

ActiveSheet.PageSetup.RightHeader = "&""Calibri,bold""&11" & Sheets("Reference").Range("B3")

End Sub

1 个答案:

答案 0 :(得分:0)

也许您会对以下代码感兴趣。 它检查单元格“B3”中字符串的长度,并根据长度(使用Select Case)设置Header字体大小。您需要调整Case内的值以满足您的需求。

Option Explicit

'=========================================================================
'  Custom Header based on value of specified cell
'=========================================================================

Sub HeaderFont()

Dim FntSize As Integer

Select Case Len(Sheets("Reference").Range("B3"))
    Case Is > 300 ' <-- length of string is more than 300 characters
        FntSize = 11

    Case Is > 200 ' <-- length of string is more than 200 characters
        FntSize = 12

    Case Else
        FntSize = 13

    ' you can add more Cases to have more scenarios

End Select

ActiveSheet.PageSetup.RightHeader = "&""Calibri,Bold""&" & FntSize & "" & Sheets("Reference").Range("B3")

End Sub