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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2009, 08:17   #1
500_pinguins
 
Регистрация: 16.06.2009
Сообщений: 4
Вопрос Проблемка при использовании регрессии

Доброго времени суток.

Я в vba программинге нисколько не искушен, так что прошу помочь советом по одному вопросу.

На листе Excel 2007 к кнопке привязан макрос, в котором считается много всякой разности, в том числе рассчитывается обычная линейная регрессия.

Расчет работает нормально, однако возник косяк: для корректной работы перед нажатием кнопки нужно руками вызвать окно для расчета регрессии (Данные\Анализ данных\Регрессия), потом его закрыть. Тогда макрос выполняется без ошибок.

Иначе выдается ошибка о том, что не удается найти лист для помещения на него регрессионных результатов. Дело в том, что по задумке при выполнении макроса должен быть создан новый лист, на него поместить результаты, эти результаты потом обрабатываются, затем лист удаляется.

Собственно, вопрос: подскажите, пожалуйста, как сделать так, чтобы пользователю не нужно было перед нажатием священной кнопки лезть во вкладки и искать форму расчета регрессии.

Кусок кода с расчетом регрессии:
Цитата:
Worksheets("Регрессия123").Visible = True

Application.DisplayAlerts = False
Worksheets("Регрессия123").Delete
Application.DisplayAlerts = True

Application.Run "ATPVBAEN.XLAM!Regress", ActiveSheet.Range(Cells(8, 10), Cells(c_regr + 8, 10)), _
ActiveSheet.Range(Cells(8, 3), Cells(c_regr + 8, 9)), False, True, , "Регрессия123", True, False _
, False, False, , False

Worksheets("НДФЛ-регр").Select

For c1 = 1 To 7
Cells(6, c1 + 2) = Worksheets("Регрессия123").Cells(c1 + 17, 2)
Next c1

Cells(6, 10) = Worksheets("Регрессия123").Cells(17 , 2)
Cells(5, 7) = Worksheets("Регрессия123").Cells(5, 2)

Worksheets("Регрессия123").Visible = False
Гуглинг и поиск по форумам ответа на вопрос не дал, буду признателен за любую помощь в решении проблемы
500_pinguins вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с языком при использовании SQL Yetiball БД в Delphi 4 20.05.2009 19:38
Странности при использовании trzListView (Raize component) Cleric57 Компоненты Delphi 1 17.02.2009 22:39
Проблема при использовании модальной формы a1ias Помощь студентам 10 14.11.2008 17:29
Баллонная подсказка при использовании Shell_NotifyIcon Fantom Win Api 1 28.09.2008 00:41
Виснет приложение при использовании winsock TR1PL3X Работа с сетью в Delphi 1 31.03.2008 09:14