|
|
|
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?fid=61&msg=36449226&tid=2178522]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
158ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 477ms |

| 0 / 0 |
