无论“ DonotPrint-设置”表上的单元格“ H13”是否为空,我都编写了代码以为每个特定的表添加自定义标题。如果发现为空,它将仅添加默认文本。如果不为空,它将复制“ H13”值并将其添加到标题中。
注意:此代码写在“ DonotPrint-Setup”表中
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim headerSheets As Variant, sh
Dim Filename As String
headerSheets = Array("COVER", "SCOPE", "SUMMARY", "Updated Hours EST", "RATES")
If IsEmpty(Me.Range("H13").value) Then
Filename = "Proposal Template"
headerSheets.PageSetup.CenterHeader = "&B &12 PROPOSAL" & Chr(10) & Chr(10) & " &08 " & Filename
Else
Filename = .Range("H13")
headerSheets.PageSetup.CenterHeader = "&B &12 PROPOSAL" & Chr(10) & Chr(10) & " &08 " & Filename
End If
End Sub
但是我遇到运行时错误'424':这样做时需要对象,并突出显示“ Else”之后的第二行代码。
答案 0 :(得分:2)
headerSheets
变量被定义为一个变体,包含一个字符串数组。因此,它不是可以在其上调用方法的对象。
您要迭代工作表名称的数组,并为每个工作表名称获取具有该名称的Worksheet
对象。
Dim i As Long
For i = LBound(headerSheets) To UBound(headerSheets)
Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets(headerSheets(i))
'now you have a Worksheet object to make member calls against:
ws.PageSetup.CenterHeader = "..."
'...
Next