|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.03.2012, 01:13 | #1 |
Регистрация: 14.03.2012
Сообщений: 8
|
Oшибка Run-time 1004: Unable Var_S prorerty
Доброго времени суток!
Выпадает ошибка при тестировании, которую я не знаю как устранить. В прикрепленном файле строку, которая выдает ошибку, я закомментировала. Запуская программу, в листе "to get to 10m" виделите диапазон "А1:Б151", "step" введите 10, и если ви раскомментировали строку будет ошибка. Мне нужно просчитать функцию Var_S в ячейке I10 нового созданного листа. В Excel эта функция будет выглядеть так: I10=VAR.S(I5, C12)(Sheet 1, новый создающийся лист). Мне кажется ошибка выпадает из-за .Cells(12, 3). Может кто-нибудь помочь? |
14.03.2012, 13:12 | #2 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 44
|
|
14.03.2012, 18:54 | #3 |
Регистрация: 14.03.2012
Сообщений: 8
|
Kak ispravit oshibky i po4emy ona pystaya? Ved nizhe dlya SQRT stolbca s4itaet normalno s teh zhe samih danih novogo lista:
.Cells(k, 14) = Sqr((.Cells(k, 2) - .Cells(5, 8)) ^ 2 / (.Cells(k, 6) ^ 2)) |
15.03.2012, 11:41 | #4 | |
Пользователь
Регистрация: 26.02.2010
Сообщений: 44
|
Цитата:
.Cells(k, 2) - .Cells(k, 2) = WorksheetFunction.Average(rRange(i, 1).Offset(, 1).Resize(n, 1)) .Cells(5, 8) - .Cells(5, 8) = WorksheetFunction.Round(WorksheetFu nction.Average(sRange()) + (0.01 / 0.1), 3) .Cells(k, 6)- .Cells(k, 6) = WorksheetFunction.StDev_P(rRange(i, 1).Offset(, 1).Resize(n, 1)) Вы сами писали этот код? И если честно я не пойму зачем Вам в цикле строка без переменных? Она просчитывает каждый раз одни и те же данные. Последний раз редактировалось Shkoda; 15.03.2012 в 11:52. |
|
15.03.2012, 20:23 | #5 |
Регистрация: 14.03.2012
Сообщений: 8
|
Ya tolko izychau programmirovanie, i tolko na4ala znakomitsa s VBA. Mne nyzhno sei4as provesti eti vi4isleniya kotorie ya delau. V na4ale mne pomogli, a dalshe ya pitaus sama.
Ety stroky pisala ne ya .Cells(k, 2) - .Cells(k, 2) = WorksheetFunction.Average(rRange(i, 1).Offset(, 1).Resize(n, 1)) Ety stroky yzhe pisala ya: .Cells(5, 8) - .Cells(5, 8) = WorksheetFunction.Round(WorksheetFu nction.Average(sRange()) + (0.01 / 0.1), 3) I v pervom sly4ae mozno skazat 4to danie s odnogo lista kopiryutsa na drygoi bez dopolnitelnih zna4enii, to est otsortirovanie, kazhdii 10 shag. A v novom liste s temi danimi kotorie otsortirovani mne nyzhno sdelat opredelinie vi4isleniya. Mozhet 4to-to ne tak v cikle, ya ne znau, dlya menya vazhno to 4to s4itaetsa. Y vas kakie-to drygie predlozheniya est? Sei4as zagvozdka s Var_S - ДИСП.В v rysskom Excel Eto stroka vidaet oshibky: .Cells(10, 9) = WorksheetFunction.Var_S(.Cells(5, 9), .Cells(12, 3)) Eto to zhe samoe 4to I10=Var.s(ДИСП.В)(I5, C12) |
16.03.2012, 11:44 | #6 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 44
|
Добрый день.
Алла, проверьте правильность вычисления .Cells(10, 9)\ Файл во вложении. |
16.03.2012, 19:56 | #7 |
Регистрация: 14.03.2012
Сообщений: 8
|
Спасибо Shkoda! Считает правильно. Оказывается нужно было просто делать это вне цикла!
У меня еще такой вопрос. У меня есть файл где все просчитано просто через функции в Excel. С помощью этого файла я сравниваю вычисления просчитанные через VBA. Иногда значения полностью совпадают. Но бывает, что данные имеют погрешность и иногда это довольна большая разница. Может мне нужно изменить типы переменных? На какой тип? |
27.03.2012, 22:04 | #8 |
Регистрация: 14.03.2012
Сообщений: 8
|
Доброго времени суток!
У меня с циклами совсем плохо. Вы мне помогли с функцией Var_S и так как она создалась вне цикла, теперь нужно создать новый цикл который просчитает значения в столбце О2:О16. Подскажите пожалуйста, как задать новый цикл? For i = 1 To rRange.Rows.Count Step n k = k + 1 .Cells(k, 15) = Sqr((.Cells(k, 3) - .Cells(5, 9)) ^ 2 / .Cells(10, 9)) Next i В этом случае числа одинаковые, и считает с О17:О31. Для запуска прогаммы в листе "to get to 10m" виделите диапазон "А1:B151", "step" введите 10 Последний раз редактировалось Alla_s; 27.03.2012 в 22:05. Причина: file |
27.03.2012, 22:09 | #9 |
Регистрация: 14.03.2012
Сообщений: 8
|
Прикрепленный файл
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка run-time Error 1004 общая ошибка ODBC | kaval88 | Microsoft Office Excel | 0 | 27.02.2011 20:20 |
ошибка run-time 1004: application-defined or object-defined error | Святой Дьявол | Microsoft Office Excel | 3 | 26.06.2010 11:06 |
Pivot Run-time Error 1004 | stream71 | Microsoft Office Excel | 0 | 07.09.2009 15:41 |
Run-time error 1004 для метода Unprotect при общем доступе | Chelentano | Microsoft Office Excel | 2 | 11.08.2009 16:57 |
Run-time error '1004'. Недопустимый параметр! | nikolai_P | Microsoft Office Excel | 2 | 20.04.2009 18:06 |