Option Explicit

Dim Независимая As String

Dim Зависимая As String

Dim Повторения As String

Dim НезависимаяЗависимая As Object

Dim Корреляция As Double

Dim m As Double

Dim b As Double

Нажатие кнопки ОК запускает на выполнение процедуру CommandButton1_Click(). При выборе переключателя с повторениями производится расчёт по процедуре ТрендсПовторениями, а при выборе переключателя Без повторений – по процедуре Обычныйтренд (первая задача).

Private Sub CommandButton1_Click()

If OptionButton1.Value = True Then

Обычныйтренд

End If

If OptionButton2.Value = True Then

ТрендсПовторениями

End If

End Sub

Нажатие кнопки Отмена запускает на выполнение процедуру CommandButton2_Click(), которая закрывает диалоговое окно.

Private Sub CommandButton2_Click()

UserForm1.Hide

End Sub

Процедуры OptionButton1_Click() и OptionButton2_Click() обеспечивают скрытие и отображение в диалоговом окне надписи Повторения и соответствующего поля.

Private Sub OptionButton1_Click()

RefEdit3.Visible = False

Label3.Visible = False

End Sub

Private Sub OptionButton2_Click()

RefEdit3.Visible = True

Label3.Visible = True

End Sub

Процедура UserForm_Initialize() активизирует диалоговое окно. В начальном состоянии выбран переключатель Без повторений.

Private Sub UserForm_Initialize()

MultiPage1.Value = 0

CommandButton2.Cancel = True

RefEdit3.Visible = False

Label3.Visible = False

OptionButton1.Value = True

UserForm1.Show

End Sub

Далее записывается процедура Обычныйтренд(). В поля Независимая величина (температура) и Зависимая величина (объём продаж) вводятся ссылки на диапазоны, по которым строится линия тренда. На рабочий лист вводятся фунции рабочего листа НАКЛОН, ОТРЕЗОК и КОРРЕЛ, по которым вычисляются параметры линии тренда и коэффициент корреляции. При помощи процедуры Диаграмма строится диаграмма и линия тренда.

Sub Обычныйтренд()

Независимая = RefEdit1.Value

Зависимая = RefEdit2.Value

Range("D1").FormulaLocal = "=ОТРЕЗОК(" & Зависимая & ";" & Независимая & ")"

Range("D2").FormulaLocal = "=НАКЛОН(" & Зависимая & ";" & Независимая & ")"

Range("D3").FormulaLocal = "=КОРРЕЛ(" & Зависимая & ";" & Независимая & ")"

b = Range("D1").Value

m = Range("D2").Value

Корреляция = Range("D3").Value

TextBox1.Text = CStr(b)

TextBox2.Text = CStr(m)

TextBox3.Text = CStr(Корреляция)

Set НезависимаяЗависимая = _

Application.Union(Range(Независимая), Range(Зависимая))

Диаграмма НезависимаяЗависимая


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: