Excel 2010:通过 VBA 脚本格式化标题

Excel 2010:通过 VBA 脚本格式化标题

我有一个从互联网上摘录的 VBA 脚本。它获取单元格的内容并将其放入适当的标题中。这正是我需要的。

Sub InsertHeaderFooter()
' inserts the same header/footer in all worksheets
Dim ws As Worksheet
    Application.ScreenUpdating = False
    For Each ws In ActiveWorkbook.Worksheets
        Application.StatusBar = "Changing header/footer in " & ws.Name
        With ws.PageSetup
            .LeftHeader = vbCr & vbCr & vbCr &B &9 & Range("J2").Text & vbCr & vbCr & Range("J3").Text & vbCr & Range("J4").Text & vbCr & Range("J5")
            .CenterHeader = vbCr & vbCr & vbCr & Range("J1").Text
        End With
    Next ws
    Set ws = Nothing
    Application.StatusBar = False
End Sub

我遇到的问题是通过 VBA 脚本格式化标题。我发现格式化文档。 我不知道在脚本中哪里使用 &B 表示粗体或 &nn 表示字体大小。我将其放在每个地方都会破坏脚本。

答案1

在您的代码行中,.LeftHeader = ...您基本上为 Excel 提供了一个字符串。

在 VBA 中,字符串必须用 引用,"除非它是内部 VB 常量(例如vbCr)或变量(例如Range("J2").Text)。

因此,尝试以下这一行:

 .LeftHeader = vbCr & vbCr & vbCr & "&B &9" & Range("J2").Text & vbCr & vbCr & Range("J3").Text & vbCr & Range("J4").Text & vbCr & Range("J5")

这将向 Excel 传递一个字符串,该字符串包含输入、范围内的值 - 以及文本“&B &9”,Excel 会将其解析为粗体和其他内容(不知道 &9 代表什么)

相关内容