Форум программистов, компьютерный форум, киберфорум
MS Office Excel
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
44 / 43 / 7
Регистрация: 18.05.2010
Сообщений: 688
1

Проверить INT ли в ячейке

03.03.2014, 15:03. Показов 1324. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго всем времени суток!

Есть задача проверить какое значение ввёл пользователь в ячейку и является ли это значение интовым.
Мои знания visual Basic и Excel в целом примерно одинаковы и по русски выражаясь: никакие.
Попытался решить данную задачу проверкой листа на изменение содержимого, отлавливанием того, что изменилось и его проверкой, но вот тут и завис:

Visual Basic
1
2
3
4
5
6
7
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If (Target.Rows(1).row >= 33) And (Target.Cells(1).Column = 13) Then
        Int32.TryParse (Target)
    End If
 
End Sub
Но на строке Int32.TryParse падает и ругается даже если ввожу целое число.
Ошибка Run-time 424
Только вот я понял из этого ,что не может получить доступ к объекту. Если к Target, то странно, так как если прописать
Visual Basic
1
MsgBox Str(Target)
Выводит содержимое ячейки исправно.

Заранее благодарю за любой совет!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2014, 15:03
Ответы с готовыми решениями:

Int vs int fast - как проверить производительность?
Как проверить производительность обычного int и int fast? Существуют ли ещё какие-то "быстрые...

Какая из этих функций int Q(int w) int W(int y,int u,int i) сработает быстрее?
Если есть 2 функции(простые или перегруженные) к примеру Q(int w) int W(int y,int u,int i)или int...

Проверить есть ли уже в ячейке примечание и если есть, то на выбор: либо удалить примечание в ячейке и ввести новое, либо выйти из процедуры.
Есть форма с TextBox'ом txtС и кнопка две кнопки CommandButton1 (Создать) и CommandButton2...

Как присвоить ячейке значение типа "=IF(M8="";INT(L8*(1+Q8/100)+1);INT(M8*(1+Q8/100)+1))" ?
собственно сабдж. Средствами VBA не получается. Cells(ShapkaCount + 1, 18).Value =...

1
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
03.03.2014, 15:26 2
Лучший ответ Сообщение было отмечено NapalmRain как решение

Решение

В VBA нет "Int32.TryParse". Если Вы хотите заставить пользователя вводить только целые числа, используйте Данные - Проверка данных - Тип данных: целое.
Можно и диапазон ограничить, и сообщения назначить.
Если все же хотите на VBA, то
Visual Basic
1
if target<>int(target) then 'не целое
1
03.03.2014, 15:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2014, 15:26
Помогаю со студенческими работами здесь

Не работает перегрузка индексного оператора [], вместо [int][int] почему то нужно ставить [0][int][int]
#include&lt;iostream&gt; #include&lt;string&gt; #include&lt;vector&gt; #include&lt;algorithm&gt; #include&lt;ctime&gt;...

Проверить существование массива в ячейке
Доброе время суток, ув. форумчане! Такой вопрос, у меня есть ячейка cell 1xN , где N - кол-во...

Проверить, есть ли в ячейке текст
Здравствуйте Подскажите как прописать условие если в ячейки текст If Range(&quot;A9&quot;) = “?” Then

Проверить что в ячейке находится время
Здравствуйте! Имеется таблица, допустим &quot;программа передач&quot; в которой имеется поле &quot;начало...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru