Я пытаюсь выяснить, как получить текстовое поле в excel userform для обновления, как текстовое поле HTML. Например, если у вас установлено значение по умолчанию «Имя», и вы нажмете в этом текстовом поле, оно исчезнет и вы введете. Когда вы выйдете, если вы ничего не написали, он вернется к default «Имя».Userform Textbox для работы как текстовое поле 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
Выходной выход не работает, пока я не закрою пользовательскую форму. Я также попытался проиграть и получить фокус, не повезло с ними вообще. Я также пробовал до и после, но они работают только в первый раз. Я хочу, чтобы он исчезал каждый раз, когда вы нажимаете в поле, если это значение «Общий расход». Как я могу получить выход или что-то похожее на запуск, когда я покидаю текстовое поле?
Я смог получить функцию выхода, изменив ее на последующий период. Проблема, которую я получаю сейчас, заключается в том, что ввод выполняется только при первом щелчке в поле. – Histerical
Это потому, что AfterUpdate (и BeforeUpdate) запускается только в том случае, если содержимое текстового поля фактически изменено. Содержимое автоматически изменяется в первый раз, когда событие Enter меняет значение на «». При следующем входе значение уже «», и оно не изменяется. edit: Если вы введете что-то в текстовое поле, выйдите из него, а затем удалите эту запись и оставьте снова, ТОГДА AfterUpdate должен работать второй раз, потому что и i) значение изменилось, и ii) значение пустое. – Swaffle
Не совсем, когда я открываю UserForm, он показывает «Total Expense». Я нажимаю его, он обновляется до пустого, чтобы ввести его. Как только я оставлю его для чего-то другого и оставьте его пустым, он снова обновится до «Total Expense». Но по возвращении он остается как «Общий расход», а не пустым. – Histerical