背景:
我正在尝试在 excel 中制作一个模板,以将数据导入 Access 中保存的数据库存储系统中。我正在尝试使用通过 SQL 选择的数据库中已经存在的变量为数据创建一些验证列表。要导入的每一列都需要一个包含 5 个项目的标题,每个项目都需要单独验证。
我有使用每个验证列表的内容填充工作表的 SQL 查询。它们采用单列字符串的格式。(如果需要,请询问代码,我暂时将其保留,因为这不是问题)。
我正在使用 Excel 2007 .xlsm
问题:
所以,我的问题是试图xlvalidatelist
在相关单元格中获取一个,该单元格根据保存在单独工作表中的无法访问的数据列表进行验证。最初我试图创建一个逗号分隔的字符串以用于验证,但我遇到了字符串中 255 个字符限制的问题。我现在正在尝试直接引用另一张表中的字符串列表。我还希望验证列表接受正在验证的单元格的内容;允许用户添加不在数据库中的新值(当文件导入数据库时,我有处理这种情况的代码)。
代码:
Public Function CreateValidationLists(ByVal SheetName As String, Row As Integer)
Dim RowCounter As Integer
Dim Colcounter As Integer
RowCounter = Row
For Colcounter = 2 To 256
With ActiveWorkbook.Worksheets("Import Data").Cells(RowCounter, Colcounter)
With .Validation
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, Formula1:="Sites!" & Range(Worksheets("Sites").Cells(1, 1), Worksheets("Sites").Cells(1, 1).End(xlDown)).Address
End With
End With
Next
End Function
错误
我得到的错误在线.Add Type:=xlValidateL...
错误消息是
Run-time error '1004':
Application-defined or object-defined error
非常感谢任何帮助。如果有人对解决此问题的更好方法有任何想法,我愿意接受建议。