Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2012, 01:13   #1
Alla_s
 
Регистрация: 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).

Может кто-нибудь помочь?
Вложения
Тип файла: zip korea2_last.zip (28.7 Кб, 14 просмотров)
Alla_s вне форума Ответить с цитированием
Старый 14.03.2012, 13:12   #2
Shkoda
Пользователь
 
Аватар для Shkoda
 
Регистрация: 26.02.2010
Сообщений: 44
По умолчанию

Добрый день.
Цитата:
Сообщение от Alla_s Посмотреть сообщение
Мне кажется ошибка выпадает из-за .Cells(12, 3).

Может кто-нибудь помочь?
Вы правы, у Вас идет ссылка, новый лист, в котором эта ячейка пуста.
Shkoda вне форума Ответить с цитированием
Старый 14.03.2012, 18:54   #3
Alla_s
 
Регистрация: 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))
Alla_s вне форума Ответить с цитированием
Старый 15.03.2012, 11:41   #4
Shkoda
Пользователь
 
Аватар для Shkoda
 
Регистрация: 26.02.2010
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Alla_s Посмотреть сообщение
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))
У Вас до выполнения этой строки, все ячейки заполняются!

.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.
Shkoda вне форума Ответить с цитированием
Старый 15.03.2012, 20:23   #5
Alla_s
 
Регистрация: 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)
Alla_s вне форума Ответить с цитированием
Старый 16.03.2012, 11:44   #6
Shkoda
Пользователь
 
Аватар для Shkoda
 
Регистрация: 26.02.2010
Сообщений: 44
По умолчанию

Добрый день.


Алла, проверьте правильность вычисления .Cells(10, 9)\
Файл во вложении.
Вложения
Тип файла: rar korea2_last.rar (31.4 Кб, 5 просмотров)
Shkoda вне форума Ответить с цитированием
Старый 16.03.2012, 19:56   #7
Alla_s
 
Регистрация: 14.03.2012
Сообщений: 8
По умолчанию

Спасибо Shkoda! Считает правильно. Оказывается нужно было просто делать это вне цикла!

У меня еще такой вопрос. У меня есть файл где все просчитано просто через функции в Excel. С помощью этого файла я сравниваю вычисления просчитанные через VBA. Иногда значения полностью совпадают. Но бывает, что данные имеют погрешность и иногда это довольна большая разница.

Может мне нужно изменить типы переменных? На какой тип?
Alla_s вне форума Ответить с цитированием
Старый 27.03.2012, 22:04   #8
Alla_s
 
Регистрация: 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
Alla_s вне форума Ответить с цитированием
Старый 27.03.2012, 22:09   #9
Alla_s
 
Регистрация: 14.03.2012
Сообщений: 8
По умолчанию

Прикрепленный файл
Вложения
Тип файла: zip 120327010302-44015.zip (30.8 Кб, 7 просмотров)
Alla_s вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка 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