我每个月都会处理一些报告,并且必须更改标题。我的工作簿中有 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
改变
.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)
表。
有没有办法将其放入像worksheet_change这样的私有子目录中?