代码适用于VBA for Excel 2013,但在Excel 2016中出错

时间:2018-05-24 20:45:20

标签: excel-vba excel-2013 excel-2016 vba excel

以下代码在Excel 2013中正常工作。我们的IT人员使用Excel 2016为我们安装了一台新计算机。现在打开文件时出现错误“运行时错误'1004':无法设置CenterHeader属性PageSetup类“

当我尝试录制宏以查看Excel 2016是否采取了不同的操作时,代码看起来与此处相同,并且此代码在2013年仍然运行良好。

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

1 个答案:

答案 0 :(得分:1)

在OP确认其有效后,从我的评论中迁移。

我怀疑此问题与您的打印机问题有关。通常,除非打印机正在安装驱动程序,否则您无法在VBA中执行任何类型的页面设置操作。查看IT是否可以在具有正常工作的打印机的计算机上安装Office 2016,以及此代码已经运行的Office 2013。或者,如果已经安装了驱动程序,请尝试将主打印机设置为默认值。