![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 14.03.2012
Сообщений: 8
|
![]()
Доброго времени суток!
Выпадает ошибка при тестировании, которую я не знаю как устранить. В прикрепленном файле строку, которая выдает ошибку, я закомментировала. Запуская программу, в листе "to get to 10m" виделите диапазон "А1:Б151", "step" введите 10, и если ви раскомментировали строку будет ошибка. Мне нужно просчитать функцию Var_S в ячейке I10 нового созданного листа. В Excel эта функция будет выглядеть так: I10=VAR.S(I5, C12)(Sheet 1, новый создающийся лист). Мне кажется ошибка выпадает из-за .Cells(12, 3). Может кто-нибудь помочь? |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 44
|
![]() |
![]() |
![]() |
![]() |
#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)) |
![]() |
![]() |
![]() |
#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. |
|
![]() |
![]() |
![]() |
#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) |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 26.02.2010
Сообщений: 44
|
![]()
Добрый день.
Алла, проверьте правильность вычисления .Cells(10, 9)\ Файл во вложении. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 14.03.2012
Сообщений: 8
|
![]()
Спасибо Shkoda! Считает правильно. Оказывается нужно было просто делать это вне цикла!
У меня еще такой вопрос. У меня есть файл где все просчитано просто через функции в Excel. С помощью этого файла я сравниваю вычисления просчитанные через VBA. Иногда значения полностью совпадают. Но бывает, что данные имеют погрешность и иногда это довольна большая разница. Может мне нужно изменить типы переменных? На какой тип? |
![]() |
![]() |
![]() |
#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 |
![]() |
![]() |
![]() |
#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 |