excel - 使用 VBA 创建下拉列表时出现问题。下面提到的代码会创建下拉列表,但每次重新打开文件时都需要修复
问题描述
下面提到的代码为每个单元格生成下拉列表 0-100,最多 1500 行。尽管一旦重新打开此 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
解决方案
的长度限制为Formula1
256 个字符:您有 294 个字符Astr
。您可以在不使用列表的情况下设置等效验证,或者您可以将验证指向(隐藏)工作表上的列表范围。
推荐阅读
- docker - 使用域名从主机网络访问 Docker
- reactjs - 如何从 React JS 中的 Promise 对象中检索数据
- latex - 调用 LaTeX Table 的单个单元格
- kubernetes - 错误 ICP 3.1.1 Grafana Prometheus Kubernetes 状态 Pod 始终“初始化”
- java - 春季验证中的 jsr-303 验证没有默认组
- kubernetes - 如何调整 kubernetes 中 kubectl get pods 的输出来查看 pods 状态
- laravel - 如何使用 Amazon aws3 将图像保存在子文件夹中 | 拉拉维尔
- firebase - 来自实时数据库的 Dialoglfow 阅读列表
- android - 找不到 recyclerview-v7.jar (com.android.support:recyclerview-v7:28.0.0)
- linux - Cancel jobs running on the same partition on SLURM