使用VBA创建下拉列表的问题。下面提到的代码创建下拉列表,但是每次重新打开文件时都需要修复]] <<

问题描述 投票:0回答:1
下面提到的代码正在为最多1500行的每个单元生成下拉列表0-100。尽管重新打开了此excel文件,但它崩溃并转移到自动恢复,指出“已删除的功能:来自/xl/worksheets/sheet1.xml部分的数据验证”。这导致首先保存恢复的文件,然后继续进行工作。请帮助我找到并解决问题。

Private Sub sSlot_Number() Dim i, j As Integer Dim Astr As String i = 0 j = 0 For j = 0 To 100 Astr = Astr & "," & j 'To contain 0 to 100 numbers in Astr for creating dropdown list Next j Do While i < 1499 With ThisWorkbook.Worksheets(1).Cells(2 + i, 2).Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _ Operator:=xlBetween, Formula1:=Astr 'Drop down list with value 0 to 100 for cells upto Row 1500 .IgnoreBlank = True .InCellDropdown = True .InputTitle = "" .ErrorTitle = "" .InputMessage = "" .ErrorMessage = "" .ShowInput = True .ShowError = True End With i = i + 1 Loop End Sub

下面提到的代码正在为最多1500行的每个单元生成下拉列表0-100。虽然重新打开了此excel文件,但它崩溃并转移到自动恢复,并指出“已删除功能:...
excel vba validation dropdown
1个回答
1
投票
Formula1的长度限制为256个字符:Astr中有294个字符。您可以设置等效的验证而不使用列表,也可以将验证指向(隐藏的)工作表上的列表范围。
© www.soinside.com 2019 - 2024. All rights reserved.