录制的宏的对象定义错误

时间:2019-08-20 10:24:53

标签: excel vba copy-paste multipleselection

我录制了一个已经运行了至少一周但由于某种原因不再运行的宏。今天,当我遍历工作簿以确保一切正常时,从下拉菜单中选择宏时,收到了“应用程序定义或对象定义的错误”消息。我不明白为什么宏会起作用,然后突然停止工作,更不用说录制的宏如何会停止工作。我正在处理的工作簿是一个项目预算模板。我有一个下拉菜单,其中每个选择都在第一个选项卡中运行宏(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"

0 个答案:

没有答案