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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 10:54   #11
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

К сожалению, помочь ничем не могу.

Цитата:
представленный вами код не работает корректно, в случае выпадения нуля в столбце "А".
С этим согласен. Исправить недолго (на исправление ушло бы несколько секунд).

И давно бы уже исправил, если бы Вы внимательно читали моё сообщение:
Цитата:
Вы же не говорили, что должно быть в таком случае записано в ячейку...
Вот когда скажете, что должно быть в ячейке в этом случае - тогда исправлю.
К примеру, если число 4 ни разу не выпало, какой должен быть "возраст" этого числа?
EducatedFool вне форума Ответить с цитированием
Старый 06.05.2009, 12:05   #12
SolexVK
 
Регистрация: 05.05.2009
Сообщений: 9
По умолчанию

код работает правильно (за исключением выпадения в столбце "А" нуля). К примеру, если последнее выпавшее число в ячейке "А15" и при этом ни разу не выпадало число 4 - то "возраст" в ячейке Число"4" должен быть 13. Что и отображает ваш код. Но что делать если всё же в столбце "А" выпадает 0?
Пример прилагается
Вложения
Тип файла: rar Возраст числа3.rar (16.0 Кб, 9 просмотров)
SolexVK вне форума Ответить с цитированием
Старый 06.05.2009, 15:11   #13
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

В макросе
Код:
Function ВозрастЧисла(ByVal i As Long)
    For j = Cells.SpecialCells(xlCellTypeLastCell).Row To 3 Step -1
        If Val(Cells(j, i).Value) <> 0 Then Exit For
    Next j
    ВозрастЧисла = Range("a" & Me.Rows.Count).End(xlUp).Row - j
End Function
замените строку
Код:
If Val(Cells(j, i).Value) <> 0 Then Exit For
на строку
Код:
If Len(Cells(j, i).Text) > 0 Then Exit For
EducatedFool вне форума Ответить с цитированием
Старый 06.05.2009, 16:46   #14
SolexVK
 
Регистрация: 05.05.2009
Сообщений: 9
По умолчанию

На этот раз окончательно всё!!!. Всё работает. Большое спасибо!!!
SolexVK вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить все простые числа не превосходящие заданного N QBasic werus Помощь студентам 4 23.04.2009 13:32
Помогите с задачей: определить все про числа от 1 до n laneen Помощь студентам 1 26.02.2009 09:56
Даны числа а1, a2, …, а10. Определить сумму их квадратов. Maks:// Помощь студентам 1 22.01.2009 15:24
Определить, является ли заданная строка правильной записью вещественного числа Sergik1977 Паскаль, Turbo Pascal, PascalABC.NET 2 18.10.2007 16:53