powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Маска ввода в ячейке Excel
8 сообщений из 8, страница 1 из 1
Маска ввода в ячейке Excel
    #32917902
kdimetrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите пожалуста реализовать маску ввода непосредственно в ячейке Excel-я (как в Access, например "__:__").
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32918613
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
маску никак
можно через данные-проверка
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32918952
kdimetrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может есть програмное решение (VBA)? Может кто нибудь предложит альтернативный вариант? Помогите, пожалуста
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32919010
LongS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно отслеживать изменения в ячейках листа через
Worksheet_Change(ByVal Target As Range)
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32919099
kdimetrius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LongSМожно отслеживать изменения в ячейках листа через
Worksheet_Change(ByVal Target As Range)
Может подскажешь как? Я сегодня этот способ юзал и первое с чем столкнулся, так это то, что при выполнении этой процедуры, пересчет в ячеке выполнялся два раза, т.е. как бы процедура реагировала на изменния в ячейке вызванные ею же (извините за каламбур). Да и способ, которым я пытался решить эту проблему какой-то деревянный (например ввожу "1256", а процедура переводит это в "12:56"). Так вот самый главный минус, это то, что маски-то тут никакой и нет, а хотелось как в Access-е :(
Наюзал у себя контрол Microsoft Masked Edit Contol, появилась идея нацепить его на рабочий лист, сделать невидимым, а при редактировании ячейки он должен перехватить нажатие клавиш и ввод мы производим уже в него и после нажатия ввода значение из него перенести в редактируемую ячейку, а его уже сделать невидимым. Идейка вроде бы неплохая, но вот с реализацией у меня сразу начался ступор. Может у кого идеи появятся, так напишите или скиньте на мыло файло с решением. Заранее благодарен.
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32919293
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что типа этого
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(False, False) <> "A1" Then Exit Sub
Application.EnableEvents = False
If Not IsNumeric(Target.Value) Then
    Target.Value = ""
    MsgBox "Только число", vbCritical, "Проверка ввода"
End If
Application.EnableEvents = True
End Sub
если проверки сложнее, то я бы взял RegExp для проверки.
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32919321
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку
вот проверка того что ввели пятизначное число на RegExp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Check()
Dim R As New RegExp
    R.IgnoreCase = True
    R.MultiLine = False
    R.Global = True
    R.Pattern = "^(\d{5,5})$"
    
    Debug.Print R.Test("12364")
    Debug.Print R.Test("123264")
    Debug.Print R.Test("1234")
End Sub
не забудь про Tools-Referens-Microsoft VBScript Regular Expressions 5.5
Файл : vbscript.dll
...
Рейтинг: 0 / 0
Маска ввода в ячейке Excel
    #32920007
LongS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего,для проверки достаточно воспользоваться
Like Operator
Вроде этого
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Text Like "???:???" Then MsgBox "OK"
End Sub

Если Target.Value не работает, можно ипользовать Target.Text, Target.Formula,
ещё формат ячеек посмотреть можно.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Маска ввода в ячейке Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]