Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 19.12.2007, 17:51   #11
Ivo4ka
Пользователь
 
Регистрация: 28.09.2007
Сообщений: 20
По умолчанию

чего)) ну правда может мне кто-нить объяснить почему это так?)) я уже свой мозг (точнее ниточку между ушами)))) перегрела в попытках понять почему так)) (а я ваще-то математег(или была раньше), только такой, горе от ума, решающий простые задачи самым сложным путем)))
Ivo4ka вне форума
Старый 20.12.2007, 06:14   #12
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Действительные - значит настоящие, конкретные, точные. В отличии от мнимых (комплексных) и иррациональных (неконкретных).
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 08.01.2008, 14:21   #13
Ivo4ka
Пользователь
 
Регистрация: 28.09.2007
Сообщений: 20
По умолчанию

ладно сдаюсь в попытке представить иррациональное число)))
все в принципе работает - НО, в эту таблицу люди часто копируют значения из других файлов. а при копировании запрет на ввод всего кроме целых чисел не работает(( можно и при копировании это как-то запретить?)
ЗЫ спасибо, о великие умы)))
Ivo4ka вне форума
Старый 09.01.2008, 06:17   #14
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно поступить иначе. Например, пусть в ячейку "A1" нужно разрешить ввод только целых чисел. Тогда, вставив в модуль нужного листа следующий код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim vRange As Range
    Set vRange = Range("A1")
    If Not Intersect(Target, vRange) Is Nothing Then
        If Range("A1").Value <> Round(Range("A1").Value) Then MsgBox "Недопустимое значение"
    End If
End Sub
получим требуемый результат. Проверку данных в ячейке нужно убрать.
Здесь по событию изменения данных в контролируемой ячейке (или диапазоне) сравниваем исходное число с округленным этим же числом. Если они равны, значит введенное число целое, если нет - запрет ввода.
При этом нет зависимости от того, каким образом новые данные появились в ячейке. Условия допустимых значений и адреса ячеек можно устанавливать по Вашему требованию.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 09.01.2008, 18:23   #15
Ivo4ka
Пользователь
 
Регистрация: 28.09.2007
Сообщений: 20
По умолчанию

ой спасибо) буду пробовать ,если конечно модуль листа это то о чем я думаю) тогда еще вопрос как правильно перечислить ячейки? через запятую можно? или надо на каждую отдельно писать? и меня собственно не так сильно волнует целое число, как то чтобы в этих ячейках не было текста и чисел в формате текст.
Ivo4ka вне форума
Старый 10.01.2008, 05:21   #16
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Тогда, наверное, Вам нужно так:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim vRange As Range
    
'задаем контролируемые ячейки

    Set vRange = Union(Range("A1"), Range("B2"), Range("C3"), Range("D4"))
    
    If Not Intersect(Target, vRange) Is Nothing Then

'проверяем число вячейке или нет

        If Not IsNumeric(Target) Or Application.IsText(Target) Then MsgBox "Недопустимое значение"
    End If
    
End Sub
Задаем ячейки (или диапазоны) с помощью оператора "Union", перечисляя через запятую. Проверяем, содержит ли ячейка число, с помощью оператора "IsNumeric" (если число). Проверяем, содержит ли ячейка текст, с помощью оператора "Application.IsText"
Если вставить этот код в модуль нужного листа, то процедура обработки будет запускаться по событию изменения данных в указанных ячейках.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 10.01.2008 в 05:23. Причина: Добавлено
SAS888 вне форума
Старый 10.01.2008, 12:51   #17
Ivo4ka
Пользователь
 
Регистрация: 28.09.2007
Сообщений: 20
По умолчанию

спасибо) чайнику вроде все понятно) сегодня буду мучать)
Ivo4ka вне форума
Старый 10.01.2008, 14:15   #18
Ivo4ka
Пользователь
 
Регистрация: 28.09.2007
Сообщений: 20
По умолчанию

Сделала, вроде работает, но при вводе текста выдается предупреждение и все. текст остается в ячейке, а нужно сделать полный запрет... я так понимаю что вместо мсджбокса надо что-то другое поставить, но я не знаю что)
Ivo4ka вне форума
Старый 13.02.2008, 15:50   #19
Ivo4ka
Пользователь
 
Регистрация: 28.09.2007
Сообщений: 20
По умолчанию

и снова я и снова тут) ни у кого не появилось идей как можно поправить этот макрос?
Ivo4ka вне форума
Старый 13.02.2008, 18:30   #20
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

А я учил, что действительные числа - это все рациональные и иррациональные. Еще их называют вещественными.
Правда, я учился в период развитого социализма, возможно, с тех времен все круто поменялось, но это уже не математика а философия...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ограничить одновременное скачивание ILoveKS PHP 3 14.05.2008 20:59
Как ограничить ось у в TChart SeЯgey Помощь студентам 2 15.04.2008 17:16
Как ограничить размер файла geronime PHP 8 20.02.2008 14:26
Как ограничить срок работы программы Allegro87 Microsoft Office Access 7 26.11.2007 12:15
Как ограничить ввод? alsq Общие вопросы Delphi 8 24.03.2007 14:30