|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.11.2010, 21:03 | #1 |
Пользователь
Регистрация: 17.11.2010
Сообщений: 20
|
Запрет ввода букв
Уважаемые знатоки макросов!
Можно ли создать макрос, запрещающий ввод в ячейку (ячейки) буквенных значений? И если да, как он примерно должен выглядеть?
Не Боги горшки обжигают, все начинали с малого, даже сами Боги..
|
30.11.2010, 21:12 | #2 |
Форумчанин
Регистрация: 23.03.2010
Сообщений: 101
|
Макросом можно сделать почти все, только здесь можно обойтись стандартной проверкой данных. Выбрать тип данных "Действительное"
|
30.11.2010, 21:22 | #3 |
Пользователь
Регистрация: 17.11.2010
Сообщений: 20
|
Ну а вот если проверкой не пользоваться? Если именно макрос интересует?
Не Боги горшки обжигают, все начинали с малого, даже сами Боги..
|
30.11.2010, 21:24 | #4 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
30.11.2010, 21:41 | #5 |
Пользователь
Регистрация: 17.11.2010
Сообщений: 20
|
У меня такая вот получается фиговина, но не могу найти где напортачил, поскольку не на все ячейки распространяется:
Private Sub Worksheet_Change(ByVal Target As Range) 'Ïðîöåäóðà çàïðåòà ââîäà ñèìâîëîâ If (Target.Rows.Count = 1) And (Target.Columns.Count = 1) Then If (Target.Row) And (Target.Column) Then Application.EnableEvents = False If IsNumeric(Target.Value) <> True Then 'Åñëè ÿ÷åéêà íå öèôðà òî... TolkoTzifra = MsgBox("Ââîäèòå òîëüêî öèôðû", vbOKOnly + vbCritical, "Îøèáêà") 'Ìåñàäæ áîêñ... Cells(Target.Row, Target.Column).Select 'ïîñëå çàêðûòèÿ ìåñàäæáîêñ âûäåëåíèå ñòàðîé ÿ÷åéêè Selection.ClearContents 'î÷èñòêà çíà÷åíèÿ ñòàðîé ÿ÷åéêè Selection.NumberFormat = "0.0" 'óñòàíîâêà ôîðìàòà ÿ÷åéêè Else: Cells(Target.Row, Target.Column + 1).Select 'èíà÷å ïåðåõîä íà ñëåäóùóþ ïî ñòðî÷êå ÿ÷åéêó End If Application.EnableEvents = True End If End If End Sub
Не Боги горшки обжигают, все начинали с малого, даже сами Боги..
|
30.11.2010, 21:53 | #6 |
Пользователь
Регистрация: 17.11.2010
Сообщений: 20
|
Уважаемый Виктор, не работают почему-то те макросы, что там написаны ((
Не Боги горшки обжигают, все начинали с малого, даже сами Боги..
|
30.11.2010, 22:40 | #7 |
Пользователь
Регистрация: 17.11.2010
Сообщений: 20
|
В общем, в итоге сделал и все пошло на ура:
Private Sub Worksheet_Change(ByVal Target As Range) If (Target.Rows.Count = 1) And (Target.Columns.Count = 1) Then Application.EnableEvents = False If IsNumeric(Target.Value) <> True Then TolkoTzifra = MsgBox("Вводите только цифры", vbOKOnly + vbCritical, "Ошибка") Cells(Target.Row, Target.Column).Select Selection.ClearContents Selection.NumberFormat = "0.0" Else: Cells(Target.Row, Target.Column + 1).Select End If Application.EnableEvents = True End If End Sub Извините, что занял Ваше время
Не Боги горшки обжигают, все начинали с малого, даже сами Боги..
|
30.11.2010, 23:12 | #8 | |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Цитата:
Те коды применяются для текстбоксов форм (кстати, отлично работают), хотя подход и принцип похож
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
|
30.11.2010, 23:22 | #9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
макрос я бы написал такой:
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
01.12.2010, 00:20 | #10 |
Пользователь
Регистрация: 17.11.2010
Сообщений: 20
|
Минимум текста - максимум отдачи!!!! Великолепное решение!! )
Не Боги горшки обжигают, все начинали с малого, даже сами Боги..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запрет нажатия кнопки и запрет неправильного ввода данных | De_Kurlzz | Помощь студентам | 1 | 15.06.2011 15:14 |
Запрет ввода с клавиатуры | DoGFoX | Помощь студентам | 5 | 16.06.2010 23:40 |
Запрет ввода с клавиатуры букв | Omedus | Общие вопросы Delphi | 13 | 16.05.2010 14:39 |
Как сделать запрет ввода букв в поле для ввода input | zvezda_t | PHP | 1 | 27.12.2009 22:02 |
Запрет ввода в Stringgrid | D-Snaker | Помощь студентам | 1 | 18.06.2009 08:08 |