excel - Excel VBA:在循环中使用 userform vbmodeless
问题描述
我指的是: 如何让 VBA 代码等到关闭 vbModeless 用户窗体
我试图在一个类模块中理解这里的代码来解决我的问题,但由于我对类编程不太熟悉而失败了。
也许有人可以给我更多的细节,我必须做什么。
问题描述:我有一个用户表单来插入数据,主要是在文本框中填充文本。如果在 Excel 表中发现不正确的数据,则会打开此用户表单。我用 For... 循环遍历工作表的行当它发现不正确的数据时,它会打开用户窗体以将数据手册输入到文本框。使用保存并退出(卸载我)。我将数据保存回工作表。我使用 userform vbmodeless 的原因是我想从另一个 excel 表中复制数据。如果我打开用户窗体 vbmodal,这是不可能的。
以下是代码示例:
Option Explicit
Public done As Boolean 'Userform UF_Input filled
Sub Userform_vbmodeless_in_Loop()
'Testprogram with userform vbmodeless in a loop
Dim i As Integer
For i = 1 To 4
UF_Input.TextBox1.Text = "That is the " & i & ". Test"
done = False 'per default
'Loop as long as the input userform is not left
Do While done = False
UF_Event.Show vbModeless
DoEvents
UF_Event.Label1.Caption = "Loop: " & i
Loop
'Unload Event userform
Unload UF_Event
Next i
End Sub
最好的问候迈克尔
解决方案
推荐阅读
- selenium - 单击后提交按钮不更改/导航页面
- android - 如何在 Android 中限制 ScrollView 的边界?
- ruby-on-rails - Rails:带有散列的枚举不返回散列键:值
- php - mysql。从具有共同列的许多表中检索数据
- html - 在 bootstrap modal 中添加两个 modal-content
- log4net - .Net Core 功能上的 Log4Net 翻转失败
- excel - 从一个工作表中创建与另一个工作表上的单元格匹配的所有值的列表
- apache-flink - Apache Flink:.countWindow() 是在发生许多事件后处理代码的正确方法吗?
- azure - 如何在逻辑应用程序中发送一封来自地址设置为不回复的电子邮件?
- excel - excel单元格公式中的绝对工作表引用