excel - Listbox_Click 在选择新条目之前运行命令
问题描述
是否可以在用户单击列表框项目(在用户表单中)和被选择的项目之间运行命令?
我有一个带有列表框作为索引的掩码,并且希望在用户转到另一个项目时使其成为可能,条目会自动保存。目前我正在使用按钮执行此操作,但我想防止用户转到其他项目并丢失输入的所有信息,因为他忘记按下按钮。
如果您单击列表框,我的代码:
Private Sub ListBox1_Click()
Dim lrow As Long
Values_delete 'Sub that clears all text boxes
If ListBox1.ListIndex >= 0 Then
lrow = 2
Do While Trim(CStr(Tabelle10.Cells(lrow, 1).Value)) <> ""
If ListBox1.Text = Trim(CStr(Tabelle10.Cells(lrow, 1).Value)) Then
Values_read (lrow) 'values get read from the excel cells and written into the text boxes
Exit Do
End If
lrow = lrow + 1
Loop
End If
End Sub
以及我的保存按钮代码:
Public Sub SaveButton_Click()
Dim lrow As Long
If ListBox1.ListIndex = -1 Then Exit Sub
If Trim(CStr(Abteilung.Text)) = "" Then
MsgBox "Error", vbCritical + vbOKOnly, "Error"
Exit Sub
End If
lrow = 2
Do While Trim(CStr(Tabelle10.Cells(lrow, 1).Value)) <> ""
If ListBox1.Text = Trim(CStr(Tabelle10.Cells(lrow, 1).Value)) Then
Values_write (lrow) 'Values get written into the cells
If ListBox1.Text <> Trim(CStr(Abteilung.Text)) Then
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do
End If
lrow = lrow + 1
Loop
End Sub
这甚至可能吗?
解决方案
尝试MouseDown
在更新任何内容之前触发的事件。当您单击一个新项目,
.Selected
或.Listindex
指向 中的上一个项目时Mousedown
。然后您可以使用MouseMove
事件来处理最近选择的项目。
推荐阅读
- python - Python:为什么我们在函数中使用布尔值在我们的主程序中返回打印语句?
- node.js - Express Web API https 服务器在第一次请求时崩溃
- awk - 从使用 sed 获得的部分获取上面的 N 行
- python - 从异常中提取属性?
- pine-script - 创建看涨吞没蜡烛脚本
- python - 关于python 3中格式化的问题
- javascript - 反应状态是未定义的,即使 console.log 显示它
- node.js - 多租户架构实现与部署
- java - 保存成功但更新失败 - 多对多 Spring JPA 与额外列使用 Jointable
- php - 表单验证无法使用 php 和 mysql