【发布时间】:2016-04-28 14:47:22
【问题描述】:
我正在尝试弄清楚如何让 excel 用户表单中的文本框像 HTML 文本框一样进行更新。例如,如果您将默认值设置为“名字”,然后单击该文本框,它将消失并让您输入。一旦您单击退出,如果您没有输入任何内容,它将返回到默认“名字”。
我发现很多人都在问同样类型的事情,但没有一个对我有用。到目前为止,这是我的代码。
Sub QCToolsForm()
QCTools.Show vbModeless
End Sub
Private Sub RUBSTotalExpense_Enter()
Debug.Print "Enter"
If Me.RUBSTotalExpense.Value = "Total Expense" Then
Me.RUBSTotalExpense.Value = ""
End If
End Sub
Private Sub RUBSTotalExpense_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Debug.Print "Exit"
If Me.RUBSTotalExpense.Value = "" Then
Me.RUBSTotalExpense.Value = "Total Expense"
End If
End Sub
Private Sub UserForm_Initialize()
updateDefault
End Sub
Public Function updateDefault()
If Me.RUBSTotalExpense.Value = "" Then
Me.RUBSTotalExpense.Value = "Total Expense"
End If
End Function
在我关闭用户窗体之前,退出子程序不会运行。我也尝试过失去和获得焦点,但完全没有运气。我也尝试过更新前后,但它们只在第一次工作。如果值为“总费用”,我希望每次单击该框时它都会消失。当我离开文本框时,如何获得退出子或类似运行的东西?
【问题讨论】: