Вопрос

Программирование на Visual Basic for Applications
MOZG
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 26.12.2003 (Пт) 4:55

Вопрос

Сообщение MOZG » 26.12.2003 (Пт) 18:00

Вопрос:
у меня столбец с заданными номерами банковских счетов!
Кол-во чисел в номере счета различное, но есть всего три варианта: либо номер счета начинается на 11... либо на 22... либо на 10...
Вопрос такой как сделть что бы анализировался не весь номер счета а только первые 2 цифры что бы потом распределить по таблицам банков!
Заранее благодарен!

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 26.12.2003 (Пт) 23:44

Где анализировался?

Если надо получить первые две цифры из того, что в ячейке то я бы сделал так:

Код: Выделить всё
myvar = iif(len(cstr(activesheet.cells(1,1).value))>2,mid(cstr(activesheet.cells(1,1).value),1,2),cstr(activesheet.cells(1,1).value))




Приведеный код получает первые две цифры из первой ячейки активного листа.

amelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 26.11.2003 (Ср) 19:39
Откуда: Москва

Сообщение amelina » 27.12.2003 (Сб) 12:18

А не проще взять Left$(номер счета, 2)...? :wink:

Конечно, надо знать что за столбец: в таблице или там... в listbox'е, например..

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.12.2003 (Пн) 10:26

Нет, не проще. Потому что код внимательнее читать надо - он не только первые два берет символа, а еще и проверяет попутно кое что :)

А раз вопрос задан в VBA то ясное дело, что где еще в таком случае м.б. столбец, как не в Excel?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 29.12.2003 (Пн) 10:41

А ведь девушка права :)
Мало того, что в функции IIf, независимо от условия, вычисляются оба выражения (т.е. ни в скорости, ни в обработке ошибок преимущества нет), так и результат будет абсолютно такое-же, т.к. Left$(S,2) возвратит пустую строку при Len(S)=0, первый символ при Len(S)=1 и первые два символа во всех остальных случаях.
Lasciate ogni speranza, voi ch'entrate.

amelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 26.11.2003 (Ср) 19:39
Откуда: Москва

Сообщение amelina » 29.12.2003 (Пн) 13:48

RayShade писал(а):А раз вопрос задан в VBA то ясное дело, что где еще в таком случае м.б. столбец, как не в Excel?


Ой ли? Всегда ли так? :wink: :wink:
А по-моему, как раз поле в таблице вполне можно "обозвать" столбцом при желании - Вы же не знаете, каков у задающего вопрос уровень владения VBA... и вообще способом выражения мыслей :D

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.12.2003 (Пн) 13:56

alibek

Возможно. Но это моя традиция, давать сложные ответы на простые вопросы :)



amelina

Не "ой ли", а так оно и есть. Дискусии на тему того, Excel это или нет, проводить не станем. Речь шла о Excel. И точка.

У кого сомнения - почитайте, что написано под моим аватаром в колонке справа :)

amelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 26.11.2003 (Ср) 19:39
Откуда: Москва

Сообщение amelina » 29.12.2003 (Пн) 14:03

RayShade писал(а):почитайте, что написано под моим аватаром в колонке справа :)


Да я это видела вообще-то... :?
А что - с модераторами надо как-то по-особенному общаться?..

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.12.2003 (Пн) 15:32

С модераторами в принципе также как и с остальными :) Но я особенный модератор :) И спорить со мной на моем форуме может лишь некоторая часть его посетителей :)

amelina
Обычный пользователь
Обычный пользователь
 
Сообщения: 53
Зарегистрирован: 26.11.2003 (Ср) 19:39
Откуда: Москва

Сообщение amelina » 29.12.2003 (Пн) 16:49

RayShade писал(а):У кого сомнения - почитайте, что написано под моим аватаром в колонке справа :)


Но, я надеюсь, Вы не станете спорить, что колонка сия находится слева? :wink:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 29.12.2003 (Пн) 17:32

Право и лево - суть понятия относительные :)

И расположение колонки не имеет определяющей роли в данном вопросе :lol:


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 2

    TopList