|
|
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Подскажите, что не так? В итоге показываент #знач Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 09:22 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Наверное где-то Worksheets("Лист1").Cells(r, 3).Value не цифра. Попробуйте Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 09:36 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
нет цифра. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 09:38 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Например такая упрощённая функция, что выдаст? У меня работает, на выходе 5: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:03 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Hugo121, и у меня 5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:10 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Но во в моем примере никак не получаеется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:18 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreeva, а чего эта функция делать-то должна? Может достаточно будет использовать встроенные типа СУММЕСЛИ и СУММПРОИЗВ ? Вы расскажите лучше саму задачу - вам тут экселевских формул быстро понапишут :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:25 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Т.е. если в примере заменить DVD1 на DVD2, то работает? Значит всё же Worksheets("Лист1").Cells(r, 3).Value не число. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:26 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Hugo121, Как его превратить в число? Пише CCur(), тоже ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:32 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
n = n + Val(Worksheets("Лист1").Cells(r, 3).Value) не помогает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:45 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Hugo121, Нет не помагает Може все это как-то по другому написаить , но через Do when ... loop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:50 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Не знаю, без примера файла трудно понять, в чём дело. Выложите файл с функцией и данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:56 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
не работает сама функция Do wh ... loop ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 10:59 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreevaнет цифра. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:00 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
PlanB, Не ясен вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:01 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Не работает в проверке на NULL, как правильно это прописать и сослаться на "" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:16 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreevaPlanB, Не ясен вопроскак вы ей пользуетесь, что она возвращает, какое значение? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:16 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
PlanBtuandreevaPlanB, Не ясен вопроскак вы ей пользуетесь, что она возвращает, какое значение? Код: plaintext 1. 2. 3. 4. 5. 6. Через пользовательские функции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:23 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreeva, вы отладчиком умеете пользоваться? Сделайте точки останова и посмотрите, что у вас в ячейках и что в переменных. Чем дальше в лес, тем тупее программисты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:23 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreevaНе работает в проверке на NULL, как правильно это прописать и сослаться на "" Так не пробовали? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:25 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Edkonst2008, Берет только 1 значение в моем распоряжении 15 минут!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:26 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreevaEdkonst2008, Берет только 1 значение в моем распоряжении 15 минут!!у меня работает, не знаю, как у вас. в приложении вариант формулой...если угадал, конечно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:39 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreevaБерет только 1 значениеа во второй ячейке не пусто-ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:40 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Вы толком обьясните, что должен делать макрос ПРИ ЗАПУСКЕ. Возможно есть другие пути решения При решении задачи найдется самое красивое, не правильное решение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:55 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Работает Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 11:59 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Я так понял Вы хотите посчитать сколько DVD и СD дисков вы продали (купили или дали в аренду) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:00 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Вы раскажите что надо я Вам "приложенице построю" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:04 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
И всё же непонятно, почему при Do While IsNull(Worksheets("Лист1").Cells(r, 1)) = False цикл пробегает до 32767 и в итоге выдаёт ошибку, хотя в строке Debug.Print r & " " & Val(Worksheets("Лист1").Cells(r, 3).Value) & " " & n n считает правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:07 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Понял, надо хелп читать Так работает верно: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:22 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Вот файлик может это то что Вам надо "Бухгалтера можно уподобить пчеловоду, ибо от его труда - учетной информации - извлекают пользу очень многие, но трудится он один. М.Ф. Ван Бреда" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:25 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
ну да, логично. IsEmpty - на пусто IsNull - на существование нуля.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:26 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Не совсем так. HELPThe Null value indicates that the Variant contains no valid data. Null is not the same as Empty, which indicates that a variable has not yet been initialized. It is also not the same as a zero-length string (""), which is sometimes referred to as a null string. Хотя что это, я так до конца и не понял... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 12:38 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Еще добавка-Dim r As Integer не годится - ограничение будет до 32767. Надо Dim r As Long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 15:18 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
tuandreevaПодскажите, что не так? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 2) Использовать пользовательскую функцию без параметров глупо. Эта функция будет считаться только если юзер зайдет в ячейку с формулой и ткнет F2, Enter. Или запросит полный пересчет листа. Автоматом она пересчитываться не будет. 3) IsNull() никогда не вернет True для ячейки листа. Поэтому цикл в принципе никогда не выполниться. Переменная n объявленна до цикла, но ей не задано никакое значение, вот она то и находится в null состоянии. Цикл эту переменную никогда не обновит в итоге функции возвращает null и он показывается на листе как #ЗНАЧ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2010, 18:33 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
White Owl - по 3) - погодите, цикл как раз никогда не закончится - переменная n исправно принимает положенные значения (в примере доходит до 58), DVD1 = n, но вот почему в итоге при выходе из кода DVD1 <> n ? Потому что выход заканчивается ошибкой и все переменные становятся Null? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2010, 09:16 |
|
||
|
Do when ... loop
|
|||
|---|---|---|---|
|
#18+
Hugo121 White Owl - по 3) - погодите, цикл как раз никогда не закончитсяОй, да действительно. Что-то я в третьем пункте глупость сказал, прошу прощения. Наверное у меня к тому моменту уже запасы кофе в организме закончились :) Действительно, так как IsNull() на ячейку всегда True то цикл никогда не заканчивается в нормальном режиме. Переменная r объявленна как Integer, а значит ее максимум 32767 и на очередном r=r+1 когда r должен бы превратится в 32768, но не может - функция умирает по ошибке переполнения. Если заменить r as Integer на r as Long то цикл умрет когда r дойдет до максимумального номера строки и условие цикла попытается проверить значение ячейки на несуществующей строке. В любом случае, функция умирает с ошибкой а значение трупика показывается как #value. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2010, 18:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=61&tid=2178522]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
198ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 575ms |

| 0 / 0 |
