我有一个MS Access应用程序,该应用程序将表导出到XLS,然后应用格式设置。
我试图从同一工作簿中工作表2(“费用类型”)中的值列表中为工作表1(“费用”)中的一系列单元格创建一个选择列表。
我使用XLS的“记录宏”开始学习。该选择列表可以在XLS上运行,但是在尝试从MSAccess VBA实施时失败。
这是失败的代码段(错误1004-应用程序定义的错误或对象定义的错误)
' Validation
With wks1.Range("G4:G10").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="= wbk.Sheets('Expense Types')!$B$3:$B$10"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
wks1.Range("A4").Select
一旦我知道引用选择列表的源和目标信息所需的格式/语法,就可以进行非常简单的猜测。
答案 0 :(得分:0)
wbk.Sheets('Expense Types')
是VBA(某种),不属于Formula1
参数。
尝试:
Formula1:="='Expense Types'!$B$3:$B$10"
编辑 如果尚未声明这些常量,并且正在使用后期绑定,则需要添加:
Const xlValidateList = 3
Const xlValidAlertStop = 1
Const xlBetween = 1