Excel 其中,应用程序对象定义错误在";添加类型“;线路?

Excel 其中,应用程序对象定义错误在";添加类型“;线路?,excel,validation,vba,Excel,Validation,Vba,Dim wb,wb1作为工作簿,copyrange,copyrange1,EWSD,Mrg1,Mrg2,Mrg3,Mrg4,SERange,SERange1作为范围,list,str,str1,str2,str3,str4作为字符串,Rowt作为长度 将所有不包含的变量声明为变量 将所有更改为显式声明: Sub Task() Dim wb, wb1 As Workbook, copyrange, copyrange1, EWSD, Mrg1, Mrg2, Mrg3, Mrg4, SERange,

Dim wb,wb1作为工作簿,copyrange,copyrange1,EWSD,Mrg1,Mrg2,Mrg3,Mrg4,SERange,SERange1作为范围,list,str,str1,str2,str3,str4作为字符串,Rowt作为长度

将所有不包含
的变量声明为
变量

将所有更改为显式声明:

Sub Task()
Dim wb, wb1 As Workbook, copyrange, copyrange1, EWSD, Mrg1, Mrg2, Mrg3, Mrg4, SERange, SERange1 As Range, list, str, str1, str2, str3, str4 As String, Rowt As Long
Application.enableEvents = False

    Set wb = ActiveWorkbook
        list = Range("$A$15:$A$18")
        With wb.Sheets("Client_Eligibility Info").Range("C16").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=list
        End With
确保将
列表
声明为字符串

Dim wb as workbook,wb1 as workbook,...
然后将地址分配给变量:

Dim list as String
然后换一个

公式1:=列表

一个公式

'Make sure to assign the correct worksheet to this range
list = wb.WorkSheets("Sheet1").Range("$A$15:$A$18").Address
因此:


非常感谢
Formula1:="=" & list
Sub Task()
Dim wb As Workbook, wb1 As Workbook
Dim copyrange As Range, copyrange1 As Range, EWSD As Range
Dim Mrg1 As Range, Mrg2 As Range, Mrg3 As Range, Mrg4 As Range
Dim SERange As Range, SERange1 As Range
Dim list As String, str As String, str1 As String, str2 As String
Dim str3 As String, str4 As String
Dim Rowt As Long

Application.EnableEvents = False

    Set wb = ActiveWorkbook
        list = wb.Worksheets("Sheet1").Range("$A$15:$A$18").Address
        With wb.Worksheets("Client_Eligibility Info").Range("C16").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=" & list
        End With