Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
excel/vba
|
|||
|---|---|---|---|
|
#18+
Привет всему народу. Суть: В Visual Basic Editor пишу свою функцию, которая на вход должна принимать матрицу (в математическом смысле этого слова) или объект типа Range (в терминах Excel). В функции должна быть проверка на вшивость, что пользователь не подсунул функции в качестве аргумента скажем просто набор ячеек, не образующих матрицу. Я решила реализовать эту проверку следующим образом: написала в Visual Basic Editor такую простенькую функцию: Function test (R As Range) Range("A1").Value = R.Areas.Count End Function далее задала несколько численных матриц (D7:E9, F10, G10:H11, I10, J15) в текущем Worksheet, вызвала функцию test (она появилась в списке функций, определенных пользователем), задала в качестве аргумента объединение этих матриц (при помощи выделения курсором с Ctrl) и ожидала в ячейке A1 увидеть количество этих матриц. Однако, в ячейке A1 стоит формула =test(D7:E9;F10;G10:H11;I10;J15), результат которой не определен. Вопрос1. Почему результат формулы не определен? Может я не правильно решаю поставленную задачу? Спасибо большое за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2003, 16:45 |
|
||
|
excel/vba
|
|||
|---|---|---|---|
|
#18+
Мне кажеться все дело в том, что ты не присваиваешь результат функции. function test(R As Range) dim x as integer ' X = R.Areas.Count test = X end function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 09:37 |
|
||
|
excel/vba
|
|||
|---|---|---|---|
|
#18+
Хорошо протестила... Оказывается не правильно передается диапазон для функции (R As Range) он может содержать только один диапазон можно попробывать и так: Function test(R1 As Range, R2 As Range) test = Union(R1, R2).Areas.Count End Function ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 10:48 |
|
||
|
excel/vba
|
|||
|---|---|---|---|
|
#18+
to Ромашка: спасибо за попытку помочь насчет Union мысль понятная, но к сожалению мне такая проверка не подходит, так как пользователь, вызывая функцию test из списка функций, может задать в качестве аргумента произвольное объединение прямоугольных матриц, которое с точки зрения excel все равно рассматривается как Range. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2003, 13:33 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=391&tid=2170298]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
33ms |
get tp. blocked users: |
2ms |
| others: | 228ms |
| total: | 358ms |

| 0 / 0 |
