В пользовательской форме, когда я сталкиваюсь с пробелом, я просто хочу дать сообщение об ошибке с удалением только пробела? - PullRequest
0 голосов
/ 04 июля 2019

Код для простого удаления пробела в поле ввода пользовательской формы в vba, а не для всех данных

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

Вы можете определить событие KeyDown для вашего TextBox и запретить пробелы:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeySpace Then KeyCode = 0
End Sub

С этим кодом пользователь не может вводить пробелы вообще.Недостатком этого является то, что пользователь все еще может копировать / пропускать пробелы в TextBox.

С помощью события Change вы также можете предотвратить это:

Private Sub TextBox1_Change()
    TextBox1.Value = Replace$(TextBox1.Value, " ", "")
End Sub

Это будетзамените также вставленные пробелы.

2 голосов
/ 04 июля 2019

Вы можете использовать Заменить, чтобы удалить пробел.Если текст содержится в переменной s, то

 s=Replace(s," ","")

удалит все пробелы из содержимого s

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...