powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Do when ... loop
25 сообщений из 36, страница 1 из 2
Do when ... loop
    #36448619
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, что не так?
В итоге показываент #знач

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function DVD1()
Dim r As Integer
r =  1 
Dim n As Double
Do While IsNull(Worksheets("Лист1").Cells(r,  1 )) = False
    If Worksheets("Лист1").Cells(r,  1 ).Value < # 1 / 16 / 2009 # And Worksheets("Лист1").Cells(r,  2 ).Value = "DVD" Then
    n = n + Worksheets("Лист1").Cells(r,  3 ).Value
    End If
r = r +  1 
DVD1 = n
Loop
End Function
...
Рейтинг: 0 / 0
Do when ... loop
    #36448648
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное где-то Worksheets("Лист1").Cells(r, 3).Value не цифра.
Попробуйте
Код: plaintext
1.
    n = n + Val(Worksheets("Лист1").Cells(r,  3 ).Value)
...
Рейтинг: 0 / 0
Do when ... loop
    #36448652
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет цифра.
Код: plaintext
1.
DVD1 = n
в этом месте все правильно присваивает, а вот в значение функции выдает не правильно
...
Рейтинг: 0 / 0
Do when ... loop
    #36448721
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например такая упрощённая функция, что выдаст? У меня работает, на выходе 5:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Function DVD2()
Dim r As Integer
Dim n As Double
For r =  1  To  5 
n = n +  1 
Next
DVD2 = n
End Function
...
Рейтинг: 0 / 0
Do when ... loop
    #36448736
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

и у меня 5
...
Рейтинг: 0 / 0
Do when ... loop
    #36448754
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но во в моем примере никак не получаеется
...
Рейтинг: 0 / 0
Do when ... loop
    #36448773
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreeva, а чего эта функция делать-то должна?

Может достаточно будет использовать встроенные типа СУММЕСЛИ и СУММПРОИЗВ ?
Вы расскажите лучше саму задачу - вам тут экселевских формул быстро понапишут :)
...
Рейтинг: 0 / 0
Do when ... loop
    #36448775
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. если в примере заменить DVD1 на DVD2, то работает? Значит всё же Worksheets("Лист1").Cells(r, 3).Value не число.
...
Рейтинг: 0 / 0
Do when ... loop
    #36448789
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Как его превратить в число? Пише CCur(), тоже ошибка
...
Рейтинг: 0 / 0
Do when ... loop
    #36448830
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
n = n + Val(Worksheets("Лист1").Cells(r, 3).Value) не помогает?
...
Рейтинг: 0 / 0
Do when ... loop
    #36448845
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121,

Нет не помагает
Може все это как-то по другому написаить , но через Do when ... loop
...
Рейтинг: 0 / 0
Do when ... loop
    #36448867
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, без примера файла трудно понять, в чём дело. Выложите файл с функцией и данными.
...
Рейтинг: 0 / 0
Do when ... loop
    #36448876
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не работает сама функция Do wh ... loop
...
Рейтинг: 0 / 0
Do when ... loop
    #36448880
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaнет цифра.
Код: plaintext
1.
DVD1 = n
в этом месте все правильно присваивает, а вот в значение функции выдает не правильноа у вас, простите, функция от чего? :)
...
Рейтинг: 0 / 0
Do when ... loop
    #36448885
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanB,

Не ясен вопрос
...
Рейтинг: 0 / 0
Do when ... loop
    #36448939
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не работает в проверке на NULL, как правильно это прописать и сослаться на ""
...
Рейтинг: 0 / 0
Do when ... loop
    #36448940
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaPlanB,

Не ясен вопроскак вы ей пользуетесь, что она возвращает, какое значение?
Код: plaintext
1.
2.
3.
4.
5.
6.
Function Area(Length As Double, Optional Width As Variant)
    If IsMissing(Width) Then
        Area = Length * Length
    Else
        Area = Length * Width
    End If
End Function
если написать =Area(A1), она выдаст результат...
...
Рейтинг: 0 / 0
Do when ... loop
    #36448966
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PlanBtuandreevaPlanB,

Не ясен вопроскак вы ей пользуетесь, что она возвращает, какое значение?
Код: plaintext
1.
2.
3.
4.
5.
6.
Function Area(Length As Double, Optional Width As Variant)
    If IsMissing(Width) Then
        Area = Length * Length
    Else
        Area = Length * Width
    End If
End Function
если написать =Area(A1), она выдаст результат...
Через пользовательские функции
...
Рейтинг: 0 / 0
Do when ... loop
    #36448967
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreeva, вы отладчиком умеете пользоваться? Сделайте точки останова и посмотрите, что у вас в ячейках и что в переменных.

Чем дальше в лес, тем тупее программисты.
...
Рейтинг: 0 / 0
Do when ... loop
    #36448975
Edkonst2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaНе работает в проверке на NULL, как правильно это прописать и сослаться на ""

Так не пробовали?

Код: plaintext
Do While Worksheets("Лист").Cells(r,  1 ) <> ""
...
Рейтинг: 0 / 0
Do when ... loop
    #36448981
tuandreeva
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Edkonst2008,
Берет только 1 значение
в моем распоряжении 15 минут!!
...
Рейтинг: 0 / 0
Do when ... loop
    #36449025
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaEdkonst2008,
Берет только 1 значение
в моем распоряжении 15 минут!!у меня работает, не знаю, как у вас.
в приложении вариант формулой...если угадал, конечно
...
Рейтинг: 0 / 0
Do when ... loop
    #36449033
PlanB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tuandreevaБерет только 1 значениеа во второй ячейке не пусто-ли?
...
Рейтинг: 0 / 0
Do when ... loop
    #36449102
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы толком обьясните, что должен делать макрос ПРИ ЗАПУСКЕ. Возможно есть другие пути решения
При решении задачи найдется самое красивое, не правильное решение
...
Рейтинг: 0 / 0
Do when ... loop
    #36449123
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работает
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Function DVD3()
Dim r As Integer
r =  1 
Dim n As Double
Do While Worksheets("Лист1").Cells(r,  1 ) <> ""
    If Worksheets("Лист1").Cells(r,  1 ).Value < # 1 / 16 / 2009 # And Worksheets("Лист1").Cells(r,  2 ).Value = "DVD" Then
    n = n + Val(Worksheets("Лист1").Cells(r,  3 ).Value)
    End If
r = r +  1 
Loop
DVD3 = n
End Function
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Do when ... loop
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]