Я создал форму ввода данных в электронную таблицу, используя ActiveX TextBoxes, они связаны с кнопкой отправки сведений и кнопкой очистки данных, и в конце выполнения оба текстовых поля возвращаются пустыми, чтобы их можно было снова заполнитьследующим пользователем инструмента. Однако я заметил, что после того, как поля установлены на «», когда пользователь начинает заполнять форму заново каждый раз, когда пользователь выбирает одно из текстовых полей, предыдущие детали ввода очень быстро вспыхивают в текстовом поле, а затем снова исчезают. Это довольно неприятная проблема, так как я пытаюсь сделать так, чтобы детали предыдущих пользователей были скрыты.
Я искал много статей о наилучшем способе установки пустых текстовых полей, и кажется, что основной путьчтобы просто установить свойство .text равным "", похоже, нет упоминания о ком-либо, кто испытывает такое поведение, поэтому я не уверен, в чем причина. Код, который у меня есть, очень упрощен, так как он сделан как побочный проект для предстоящей ярмарки вакансий, чтобы позволить студентам вводить там контактные данные.
Sub clearForm()
' Worksheets("Student Data").userName.Text = ""
' Worksheets("Student Data").emailAddr.Text = ""
' Worksheets("Student Data").contactNum.Text = ""
' Worksheets("Student Data").Course.Text = ""
' Worksheets("Student Data").gradDate.Text = ""
' Worksheets("Student Data").addComment.Text = ""
textbox1clear
End Sub
Sub submitData()
'Code here that takes users entered data and outputs to hidden and protected sheet
'After data copied text boxes are cleared of users information, same as above sub
Worksheets("Student Data").userName.Text = ""
Worksheets("Student Data").emailAddr.Text = ""
Worksheets("Student Data").contactNum.Text = ""
Worksheets("Student Data").Course.Text = ""
Worksheets("Student Data").gradDate.Text = ""
Worksheets("Student Data").addComment.Text = ""
End Sub
Sub textbox1clear()
Dim sel
sel = Selection.Address
Sheet1.userName.Activate
Application.SendKeys ("Test ")
Sheet1.userName.Value = ""
Range(sel).Activate
End Sub
Ожидается - в текстовых полях должно быть свободноготов к следующему пользователю.
Фактически - текстовые поля очищаются до тех пор, пока пользователь не выберет их, чтобы начать ввод данных, после чего предыдущая запись ненадолго появится в поле и снова исчезнет.