0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 5
|
||||||
1 | ||||||
Исправить проблему при присвоении значений массивам01.06.2014, 19:05. Показов 1316. Ответов 9
Метки нет (Все метки)
Суть вопроса. Есть 2 массива: maskirp - в нем элементы идут по убывающей, и masobem - в нем элементы идут по возрастающей. значения массивов взаимосвязаны. Также есть ячейка Cells(13, 2) с заданным значением. Нужно сравнить это значение с элементами массива masobem и получить соответствующее значение из массива maskirp. При этом, если значение попало не точно, то получаемое значение необходимо получить интерполяцией. Все это должно выполняться по нажатию на кнопку. Полученное значение поместить в ячейку Cells(16, 2).
При выполнении получаю compil error. саnt assign to array. Подскажите, где напортачил.
0
|
01.06.2014, 19:05 | |
Ответы с готовыми решениями:
9
Исправить проблему с размножающимися элементами ListBox и проблему со сортировкой Ошибка при присвоении значений структуре Исправить проблему при установке COM-соединения с 1С 8.2 Усечение константного значения при присвоении значений объектам структуры |
призрак
|
||||||
01.06.2014, 19:19 | 2 | |||||
Сообщение было отмечено ikki как решение
Решение
результат функции array() может быть присвоен только переменной variant или массиву variant с необъявленными границами:
1
|
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 5
|
|
01.06.2014, 19:57 [ТС] | 3 |
исправил на:
Dim maskirp() Dim masobem() пишет out of range это значит, что выходит за границы существующего массива? можете подсказать, почему не подхватывает значение из массива (там значения до 10000)? значение в ячейке (13,2) - 450 заранее благодарен.
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
|
01.06.2014, 20:33 | 4 |
Покажите файл с кодом и значениями, и что именно хотите сделать - пока ничего не понятно...
И зачем по 100 раз зря проделывать Cells(16, 2) = maskirp(i -.... ?
0
|
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 5
|
||||||
01.06.2014, 20:57 [ТС] | 5 | |||||
Добавлено через 12 минут
Есть ячейка (13,2) с заданным значением 450. Нужно сравнить это значение с элементами массива masobem и получить соответствующее значение из массива maskirp, соответствующее номеру элемента. При этом, если значение попало не точно, то получаемое значение необходимо получить интерполяцией. Все это должно выполняться по нажатию на кнопку. Полученное значение поместить в ячейку (16, 2). Т.е. если в ячейке (13,2) значение будет 10, то в ячейку (16,2) должно быть записано 205. А если в (13,2) будет 9, то в (16,2) должно быть записано 242, т.к. по интерполяции значение 9 в диапозоне от 5 до 10 массива masobem соответствует значению 242 в диапозоне от 390 до 205 массива maskirp. Добавлено через 4 минуты Т.о. если у нас начальное значение 450, то по идее в ячейку (16,2) должно быть записано значение 10,2, т.к. (9,2+11,2)/2=10,2
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
01.06.2014, 21:00 | 6 | |||||
Не вникая - практически только убрал ошибку:
0
|
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 5
|
|
01.06.2014, 21:00 [ТС] | 7 |
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
01.06.2014, 21:05 | 8 | |||||
Сообщение было отмечено deniskaizminska как решение
Решение
Да, зачем i = i? Явно лишняя строка, сразу не заметил...
Да и проверку можно изменить:
0
|
0 / 0 / 0
Регистрация: 01.06.2014
Сообщений: 5
|
|
01.06.2014, 21:27 [ТС] | 9 |
Спасибо за хороший вариант.
0
|
6922 / 2832 / 543
Регистрация: 19.10.2012
Сообщений: 8,645
|
||||||
01.06.2014, 21:43 | 10 | |||||
Но подумайте как обойти ошибку на maskirp(i - 1) при i=1!
Может быть можно/нужно
0
|
01.06.2014, 21:43 | |
01.06.2014, 21:43 | |
Помогаю со студенческими работами здесь
10
Исправить проблему при распознавании типа объекта Как исправить проблему черного экрана при загрузке Windows 2000? Как исправить проблему Как исправить проблему с задачей? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |