代码在VBA for Excel 2013中工作,但在Excel 2016中出错
以下代码在Excel 2013中运行良好。我们的IT人员使用Excel 2016为我们安装了一台新计算机。现在打开文件时,我收到一个错误“运行时错误'1004”:无法设置PageSetup类的CenterHeaderproperty” 当我试图录制一个宏以查看Excel 2016是否做了一些不同的事情时,代码看起来与此处相同,同样,这段代码在2013年仍然运行良好代码在VBA for Excel 2013中工作,但在Excel 2016中出错,excel,excel-2013,excel-2016,vba,Excel,Excel 2013,Excel 2016,Vba,以下代码在Excel 2013中运行良好。我们的IT人员使用Excel 2016为我们安装了一台新计算机。现在打开文件时,我收到一个错误“运行时错误'1004”:无法设置PageSetup类的CenterHeaderproperty” 当我试图录制一个宏以查看Excel 2016是否做了一些不同的事情时,代码看起来与此处相同,同样,这段代码在2013年仍然运行良好 Private Sub Workbook_Open() Dim Obj As Object AWb = Application.A
Private Sub Workbook_Open()
Dim Obj As Object
AWb = Application.ActiveWorkbook.Name
If AWb = "UCSB Service Form.xlsm" Then
Application.ScreenUpdating = False
Sheets("Form").Activate
DateFormat = Format(Date, "mm/dd/yy;@")
Range("F2") = DateFormat
Range("F36") = DateFormat
Cells.Validation.Delete
'Sets record number
Record = "Pending"
Range("H6") = "'" & Record
ActiveSheet.PageSetup.CenterHeader = "Record: " & Record
'<<< Debug indicates this line
'Run-time error '1004': Unable to set the CenterHeaderproperty of the PageSetup class
'Open blank form
Range("F3:F7").ClearContents
Range("E9:F10").ClearContents
Range("E12:F18").ClearContents
Range("E20:F23").ClearContents
Range("E26:F29").ClearContents
Range("K2:K5").ClearContents
Range("H4:I6").ClearContents
Range("G9:J25").ClearContents
Range("I27:I31").ClearContents
Range("K27:K31").ClearContents
Range("K27:K31").ClearContents
Range("G34:I39").ClearContents
Range("I40").ClearContents
Range("K40").ClearContents
Range("K33:K36").ClearContents
'Clear Highlighting
Range("F3:F7").Interior.Color = xlNone
Range("E9:F9").Interior.Color = xlNone
Range("E12:F13").Interior.Color = xlNone
Range("E14:F17").Interior.Color = xlNone
Range("E18:F18").Interior.Color = xlNone
Range("E20:F23").Interior.Color = xlNone
Range("H4:I4").Interior.Color = xlNone
Application.ScreenUpdating = True
Range("A1").Select
Range("F3").Select
Application.ScreenUpdating = False
Range("H6") = "'" & Record
Set Obj = ActiveSheet.CommandButton1
Obj.Caption = "Save"
Call M_Lists.S_Lists
End If
'Updated 4/25/18
End Sub
Private子工作簿\u Open()
作为对象的Dim Obj
AWb=Application.ActiveWorkbook.Name
如果AWb=“UCSB服务表单.xlsm”,则
Application.ScreenUpdating=False
工作表(“表格”)。激活
DateFormat=格式(日期,“mm/dd/yy;”)
范围(“F2”)=日期格式
范围(“F36”)=日期格式
Cells.Validation.Delete
创纪录
记录=“待定”
范围(“H6”)=“'”和记录
ActiveSheet.PageSetup.CenterHeader=“记录:”&记录
“在OP确认它有效后从我的评论中迁移过来
我怀疑这个问题与您的打印机问题有关。通常,除非打印机在安装了驱动程序的情况下工作正常,否则无法在VBA中执行任何类型的页面设置操作。看看它是否能在一台有可用打印机的计算机上安装Office 2016,并在Office 2013上安装此代码。或者,如果主打印机已经安装了驱动程序,则尝试将其设置为默认值。您的新计算机上是否安装了打印机?哦,哈哈,谢谢。是的,上面安装了打印机,我们在打印方面一直有问题。这真是一件奇怪的事情!我将主打印机设置为默认,现在一切正常!非常感谢。我把我的评论变成了回答。考虑点击旁边的复选标记,让其他人知道它解决了你的问题,以防他们遇到同样的问题!