vba - 将多个文本框值传输到数组
问题描述
我有一个带有 13 个文本框的用户窗体,我试图将最后 10 个文本框(即 #4-#13)的值传输到一个数组中。我的想法是循环浏览表单上的所有控件并使用一个简单的计数器跳过前 3 个文本框,然后依次将我的数组元素设置为其余的文本框值。
For Each Ctrl In Me.Controls
If TypeName(Ctrl) = "TextBox" Then
i = i + 1
If i > 3 Then
PO(i - 3) = Ctrl.Value
End If
End If
Next Ctrl
这个概念本身是有效的;但是,循环从文本框 #3 而不是 #1 开始,我最终在我的数组中获得以下值 - (#6-#13, #1, #2)。因此,它找到的第一个文本框控件是#3,然后通过#13 并返回到#1 和#2。
这些框按逻辑顺序命名(并按标签索引)以适合我想要做的事情,但显然这个过程有一些我不太了解的东西 - 或者 VBA 以与我不同的方式获取它.
语句是否有可能For Each Ctrl
按照它们最初创建的顺序而不是 tabindex 或名称的顺序通过控件?如果是这样,我怎么能找到最初的创作顺序?
解决方案
您可以这样做,使用控件名称的一致结构。
For i = 4 To 13
PO(i - 3) = Me.Controls("Textbox" & i).Value
Next i
推荐阅读
- spring-boot - 如何从 ServerHttpRequest 读取 Spring Boot 响应式请求正文
- kubernetes - Kubernetes 入口 nginx grafana 仪表板 prometheus 数据为空
- django - 在 django 表单中隐藏字段表单
- python - python - 如何将气流 dag 配置为每天运行两次
- javascript - 警告:在现有状态转换期间无法更新(例如在 `render` 中)
- javascript - VueJs - 绑定双向父子数据
- bash - how calling variable outside a function in bash?
- c - 插入排序功能不起作用。为什么?
- three.js - How to set viewer.setThemingcolor upon multiple instances, without causing refresh of loader per instance?
- python - 使用条件分组