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

问题描述 投票:0回答:2

我每个月都会处理一些报告,并且必须更改标题。我的工作簿中有 20 个工作表,每个工作表需要有不同的标题。

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

例如 - 工作表一 - Q115 与 Q414 - 标题需要引用单元格 a150、a151、a152、a153。单元格 a152 中有一个公式。 FY15 与 FY14 工作表将引用单元格 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
vba excel
2个回答
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)
表。


0
投票

有没有办法将其放入像worksheet_change这样的私有子目录中?

© www.soinside.com 2019 - 2024. All rights reserved.