将活动工作表上的标题设置为其他工作表上的单元格值

时间:2018-08-20 23:15:40

标签: excel vba

我试图做一些我认为很简单的事情,基本上我试图将一个表中的标题设置为另一表中单元格的值。我似乎无法使单元格引用正常工作。这是我正在使用的代码:

Sub PrepareHeader()
   Sheet30.PageSetup.CenterHeader = "&""Arial,Bold""&18 " & 
Application.ActiveWorkbook.Sheets("Sheet1").Range("A1").Value
End Sub

我无法从sheet1上的A1获取数据。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

选项1

通过将范围设置为彼此相等,将A1中的{strong>值从Sheet1Sheet2

Sub PrepareHeader()

ThisWorkbook.Sheets("Sheet2").Range("A1").Value = ThisWorkbook.Sheets("Sheet1").Range("A1").Value

End Sub

选项2

通过复制和粘贴,将A1中的值和格式Sheet1Sheet2

Sub PrepareHeaderV2()

ThisWorkbook.Sheets("Sheet1").Range("A1").Copy

With ThisWorkbook.Sheets("Sheet2").Range("A1")
    .PasteSpecial xlPasteValuesAndNumberFormats
    .PasteSpecial xlPasteFormats
End With

End Sub

注意:

调整Sheet1Sheet2的值以适合您的需求。我怀疑这实际上是您所需要的,但是希望您可以看到正确的语法并根据需要将其应用于实际问题。如果要处理多个工作簿,则可以在需要时将ThisWorkbook交换为ActiveWorkbook。同样,Sheets("Sheet1")可以与ActiveSheet交换。但是,我也不建议这样做,因为依赖Active对象的代码并不总是可靠的。