我录制了一个已经运行了至少一周但由于某种原因不再运行的宏。今天,当我遍历工作簿以确保一切正常时,从下拉菜单中选择宏时,收到了“应用程序定义或对象定义的错误”消息。我不明白为什么宏会起作用,然后突然停止工作,更不用说录制的宏如何会停止工作。我正在处理的工作簿是一个项目预算模板。我有一个下拉菜单,其中每个选择都在第一个选项卡中运行宏(SERVICES是第二个选项卡)。下面的宏是从几个下拉选择中调用的宏之一。不同的项目具有不同的角色和比率-下面的宏用于更改不同类型项目的角色。
很抱歉,您未尝试尝试即可发布问题,但老实说甚至都不知道如何开始。我是VBA的新手,所以这对我来说很混乱。
Sub CompanyARolestoRolesColumnInServicesTab()
Call TurnOffFunctions
' CompanyA_AddRolesAtoRolesColumnInServicesTab Macro
Sheets("SERVICES").Select
Range("C29").Select
Application.CutCopyMode = False
Application.CutCopyMode = False
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$K$374:$K$417"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
Selection.Copy
Range( _
"C30:C48,C50:C69,C71:C90,C92:C111,C113:C132,C134:C153,C155:C174,C176:C195,C197:C216,C218:C237,C239:C258,C260:C279,C281:C300,C302:C321,C323:C342,C344:C363" _
).Select
Range("C344").Activate
ActiveSheet.Paste
Range("A1").Select
Sheets("SOW").Select
Call NoSelect
Call TurnOnFunctions
End Sub
在错误消息之后和按调试后突出显示的宏部分为:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$K$374:$K$417"