Excel 2010: formatando cabeçalho por meio do script VBA

1

Eu tenho um script VBA que eu escolhi da internet. Ele pega o conteúdo de uma célula e coloca no cabeçalho apropriado. Isso funciona exatamente como eu preciso.

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

O problema que tenho é formatar o cabeçalho através do script VBA. Eu encontrei a documentação de formatação. Eu não saber onde usar o & B para negrito ou & nn para o tamanho da fonte no script. Todo lugar que eu coloquei, quebra o roteiro.

    
por mcoleman 01.03.2013 / 22:25

1 resposta

0

Na sua linha .LeftHeader = ... você basicamente forneceu ao Excel uma string.

No VBA, uma string deve ser citada com " , a menos que seja uma constante VB interna (por exemplo, vbCr ) ou uma variável (por exemplo, Range("J2").Text ).

Portanto, tente esta linha:

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

Isso passará ao Excel uma string que contém as entradas, os valores dos intervalos e o texto "& B & 9" que o Excel analisará como Negrito e outra coisa (não sabe o que o & 9 representa para)

    
por 01.03.2013 / 22:32