标题中的单元格值 - 每个工作表和宏循环不同

时间:2015-03-13 21:32:24

标签: excel vba excel-vba

我有报告称我每月工作,必须更改标题。我在工作簿中有20个工作表,每个工作表需要有不同的标题。

我想为标题创建一个宏,它将引用每个工作表中的4个单元格。

例如 - 工作表一 - Q115与Q414 - 标题需要引用单元格a150,a151,a152,a153。单元格a152中有一个公式。 2015财年与2014财年的工作表将引用其自身内的单元格a150,a151,a152,a153,等等...我在谷歌搜索后创建了一个宏,但是一旦我运行它,所有工作表都有来自第一个活动工作表的标题。

你能帮我纠正一下吗?

Sub InsertHeaderFooter()

Dim sheetIndex, numsheets As Integer
sheetIndex = 1
numsheets = Sheets.Count
' Loop through each sheet, but don't set any of them to active
While sheetIndex <= numsheets
    Dim sheetname, role, labeltext As String
    sheetname = Sheets(sheetIndex).name
    role = GetRole(mode) 
    labeltext = "Some text - " & sheetname & " - " & role
 strong text        
    With Sheets(sheetIndex).PageSetup
        .LeftHeader = ""
        .CenterHeader = vbCr & Range("A150").Text & vbCr & Range("A151").Text & _
            vbCr & Range("A152").Text & vbCr & Range("A153").Text
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = "SanDisk Confidential"
        .RightFooter = "&[Date] - &[Time]"
    End With
    sheetIndex = sheetIndex + 1
Wend
End Sub

1 个答案:

答案 0 :(得分:2)

更改

.CenterHeader = vbCr & Range("A150").Text & vbCr & Range("A151").Text & _
            vbCr & Range("A152").Text & vbCr & Range("A153").Text

  .CenterHeader = vbCr & .Range("A150").Text & vbCr & .Range("A151").Text & _
        vbCr & .Range("A152").Text & vbCr & .Range("A153").Text

Range引用活动工作表。

.Range引用了With Sheets(sheetIndex)表。