|
|
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
Написал пользовательскую функцию. За основу взял пример из книги по использованию FindNext. По моей идее эта функция ищет в диапазоне ячейки, в которых формула начинается с "=СУММ(" и суммирует значения этих ячеек. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Первая инструкция Find работает нормально. Функции SummaSumm присваивается значение 2. Потом доходит в первом циклом до строчки Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 17:39:20 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
Поправка. Функции SummaSumm присваивается 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 17:41:16 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
Есть такое мнение, что метод FindNext не работает при вызове из ячейки внутри функции. Воспользуйся альтернативным вариантом. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2006, 23:45:47 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
k-nikeНаписал пользовательскую функцию. За основу взял пример из книги по использованию FindNext. попробуй rngInput.Find (What:="бла-бла", Affter:=rng ,LookIn:=xlFormulas,LookAt:=xlPart, MatchCase:=False) Не верь примерам - в том примере из справке - ошибка на строке Loop While Not (rng Is Nothing) And rng.Address <> firstAddress Если будет rng Is Nothing, то rng.Address вызовет ошибку (хотя в данном контексте ошибка навряд ли появиться, но возможна, если например найденные значения на что-то заменять/elfkznm и однажды Find вернет Nothing) лучше так сделать: if rng Is Nothing then exit do Loop While rng.Address <> firstAddress ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2006, 09:40:44 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
Спасибо. Помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2006, 09:45:07 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
Senin ViktorНе верь примерам - в том примере из справке - ошибка на строке Loop While Not (rng Is Nothing) And rng.Address <> firstAddress Если будет rng Is Nothing, то rng.Address вызовет ошибку (хотя в данном контексте ошибка навряд ли появиться, но возможна, если например найденные значения на что-то заменять/elfkznm и однажды Find вернет Nothing) лучше так сделать: if rng Is Nothing then exit do Loop While rng.Address <> firstAddress Да, она появится только если заменять содержимое найденных ячеек, но в данном случае ничего не заменяется, но rng все равно Nothing. Пользователь2Есть такое мнение, что метод FindNext не работает при вызове из ячейки внутри функции. Видимо, это действительно так. Но все равно спасибо за предупреждение, Senin Viktor. Будем иметь ввиду. Способ Пользователя2 мне показался поуниверсальнее что ли. Им и воспользовался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2006, 10:00:06 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
k-nike Пользователь2Есть такое мнение, что метод FindNext не работает при вызове из ячейки внутри функции. Видимо, это действительно так. Но все равно спасибо за предупреждение, Senin Viktor. Будем иметь ввиду. Способ Пользователя2 мне показался поуниверсальнее что ли. Им и воспользовался. предупреждение не мое, а Пользователя2 все-таки попробовал бы rngInput.Find (What:="бла-бла", Affter:=rng ,LookIn:=xlFormulas,LookAt:=xlPart, MatchCase:=False) Такие рекомендации дается и самим мелкософтом PSS ID Number: 282151.Macro that uses FindNext to search for specific format finds wrong cell in Excel 2003 or in Excel 2002 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 09:35:04 |
|
||
|
Проблема с FindNext и пользовательской функцией
|
|||
|---|---|---|---|
|
#18+
Senin Viktorпредупреждение не мое, а Пользователя2 Я просто предложение с благодарностью не туда вставил. Надо было повыше чуть-чуть.:-))) Ну и Пользователя2, конечно, тоже благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2006, 11:23:55 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33616112&tid=2185078]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
83ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 396ms |

| 0 / 0 |
