Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
4 / 4 / 0
Регистрация: 11.08.2011
Сообщений: 62
1

совершенно не понимаю, как работает функция Asc()

18.08.2011, 11:40. Показов 2345. Ответов 4
Метки нет (Все метки)

мне нужно проверить, является ли первый символ ячейки числом или какой-другой символ. Если числом, то эта ячейка считается, если нет, то ничего. Код такой:
If Asc(Left(Worksheets(1).Range(adrees).Value,1)) >=48 And Asc(Left(Worksheets(1).Range(adress).Value,1))<=57 Then r = r+1

В одной функции работает без проблем.
А в другой выдаю
МояФункция = r
и в ячейке получаю "Знач!". Причем, комментаря условие, все работает. Меня уже взбесил этот глюк. Как еще можно проверить, что первый символ ячейки число?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2011, 11:40
Ответы с готовыми решениями:

Не понимаю как работает функция
Прохожу видео уроки и тут появился вопрос как работает функция $function() которую до этого момента...

Не понимаю как работает функция filter()
Всем привет, изучал функцию filter(), и не могу до конца разобраться в ней: a = def func(x):...

Не понимаю как работает эта функция
Что означают аргументы &amp; и * в этой функции ? template &lt;typename T&gt; inline T* const&amp; max(T*...

Не понимаю как работает функция malloc
Можете объяснить, что здесь значит каждый символ и элемент в этой строчке?...

4
5557 / 1363 / 150
Регистрация: 08.02.2009
Сообщений: 4,105
Записей в блоге: 30
18.08.2011, 12:15 2
Для начала хорошо бы не путать adrees и adress (а также и address — адрес).

Left внутри Asc — лишнее: Asc и без того берёт (обрабатывает) лишь один левый символ.

И вообще вместо крокодила с использованием кодов цифр (48–57) можно использовать, например,
Visual Basic
1
IsNumeric(Selection)
2
355 / 161 / 27
Регистрация: 21.06.2011
Сообщений: 350
18.08.2011, 12:16 3
Так думаю лучше!

Visual Basic
1
2
3
If IsNumeric(Left(Worksheets(1).Range(adress).Value, 1)) = True Then
  r = r+1
End If
Сорри не обновил страничку, поэтому не увидел предыдущий пост!
1
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
18.08.2011, 12:21 4
Left(Worksheets(1).Range(adrees).Value,1)) >=48 And Asc(Left(Worksheets(1).Range(adress).Value,1))
0
4 / 4 / 0
Регистрация: 11.08.2011
Сообщений: 62
18.08.2011, 12:39  [ТС] 5
спасибо, работает!))
про adrees и adress - прошу извинить - ошибки синтаксиса меня сгубят. В моем коде написано одинаково)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2011, 12:39

Необходимо обойти ошибку в if на проверку месяцев. Не понимаю совершенно как это сделать
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include...

совершенно не понимаю Delphi, но делать надо
не могу написать программы для уравнений, помогите кто чем может

Не понимаю почему не работает функция
def Sqrt_Newtons_method(x, y): z=x/y a=(z+y)/2 #print(a) if a/y&gt;0.99: return a else:...

Не понимаю, почему не работает стандартная функция strlen
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &quot;string.h&quot; using namespace std; int...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.