Создание UserForm для вычисления корней квадратного уравнения

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

Создание UserForm для вычисления корней квадратного уравнения

a x2 +b x + c = 0

Объект

Свойство Name

Свойство  Caption

UserForm

UserFormSqr

Квадратное уравнение

TextBox

TextA

-

TextBox

TextB

-

TextBox

TextC

-

TextBox

TextX1

-

TextBox

TextX2

-

Label

Label1

a

Label

Label2

b

Label

Label3

c

Label

LabelX1

X1

Label

LabelX2

X2

CommandButton

CmdOk

Найти

CommandButton

CmdExit

Выход

В приведенном ниже коде выполняются следующие действия:

- с помощью функции IsNumeric(TextBox) проверяется введены ли в соответствующие поля значения параметров a, b, c.  Функция IsNumeric(TextBox) принимает значение True, если введено какое-либо число;

- вычисляется дискриминант d;

- если d>=0, то вычисленные значения корней печатаются в поля TextX1 иTextX2;

- если d<0,  то скрываются поля TextX1 иTextX2 (свойство Visible = false), и устанавливается свойство метки LabelX1.Caption = "no solution".

Private Sub CmdOk_Click()

'Текст кода к UserFormSqr -решение квадратного уравнения

Dim a As Double

Dim b As Double

Dim c As Double

Dim d As Double 'дискриминат

Dim x1 As Variant

Dim x2 As Variant

If IsNumeric(TextA) And IsNumeric(TextB) And IsNumeric(TextC) Then

a = CDbl(TextA)

b = CDbl(TextB)

c = CDbl(TextC)

d = b ^ 2 - 4 * a * c

If d > 0 Then

TextX1.Visible = True

TextX2.Visible = True

LabelX1.Caption = "x1"

LabelX2.Caption = "x2"

x1 = (-b + d ^ 0.5) / 2 / a

x2 = (-b - d ^ 0.5) / 2 / a

TextX1 = x1

TextX2 = x2

Else

TextX1.Visible = False

TextX2.Visible = False

LabelX1.Caption = "no solution"

LabelX2.Caption = " "

End If

Else

 MsgBox " ВВедите значения a, d и c"

 End If

End Sub

Private Sub CmdExit_Click()

‘Закрытие UserForfSqr

Unload Me

End Sub

На рабочем листе создать кнопку (свойство Name – CmdSqr, свойство Caption –Решение квадратного уравнения) со следующим кодом:

Private Sub CmdSqr_Click()

UserFormSqr.Caption = "Квадратное уравнение"

UserFormSqr.Show

End Sub

Выбор максимального или минимального из 3-х чисел.

Объект

Свойство Name

Свойство  Caption

UserForm

UserFormMax

Максимум или минимум

TextBox

TextA

-

TextBox

TextB

-

TextBox

TextC

-

TextBox

TextRez

-

Label

Label1

a

Label

Label2

b

Label

Label3

c

Label

Label4

Результат

CommandButton

CmdOk

Найти

OptionButton

OptMax

МАксимум

OptionButton

OptMin

Минимум

Private Sub CommandButton1_Click()

Dim a As Double

Dim b As Double

Dim c As Double, max As Double, min As Double

If IsNumeric(TextA) And IsNumeric(TextB) And IsNumeric(TextC) Then

a = TextA

b = TextB

c = TextC

If OptMax.Value = True Then

max = a

If max < b Then max = b

If max < c Then max = c

TextRez = max

Label4.Caption = "Максимум"

End If

If OptMin.Value = True Then

min = a

If min > b Then min = b

If min > c Then min = c

TextRez = min

Label4.Caption = "Максимум"

End If

End If

End Sub

Изменение цвета фона UserForm и кнопки на рабочем листе, открывающем эту UserForm.

Здесь будет использовано правило формирования цвета RGB, согласно которому на каждый из основных цветов (красный, зеленый, голубой) отводится 1 байт, то есть от 0 до 255 различных оттенков каждого цвета. Для формирования  оттенок будем использовать элементы ScrollBar (полоса прокрутки).

При перемещении движка на полосах прокрутки будет, во-первых, меняться цвет фона UserForm, во-вторых, фиксироваться цифровой код оттенка, в-третьих, изменяться цвет фона кнопки на рабочем листе, связанной с данной формой.

Для вызова этой UserForm на рабочем листе  Формы создать кнопку ( свойство Name- CmdColor). Код этой кнопки:

Private Sub CmdColor_Click()

UserFormColor.Show

End Sub

Объект

Свойство Name

Свойство  Caption

Свойство Max

Свойство BackColor

UserForm

UserFormColor

Цвет

-

-

ScrollBar

ScrollBarREd

-

255

Red

ScrollBar

ScrollBarGreen

-

255

Green

ScrollBar

ScrollBarBlue

-

255

Blue

TextBox

TextRed

-

-

-

TextBox

TextGreen

-

-

-

TextBox

TextBlue

-

-

-

Label

Label1

Red

-

-

Label

Label2

Green

-

-

Label

Label3

Blue

-

-

Private Sub ScrollBarBlue_Change()

UserFormColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

Textblue.Text = CStr(ScrollBarBlue)

Sheets("Формы").CmdColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

End Sub

Private Sub ScrollBarGreen_Change()

UserFormColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

TextGreen.Text = CStr(ScrollBarGreen)

Sheets("Формы").CmdColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

End Sub

Private Sub ScrollBarRed_Change()

UserFormColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

TextRed.Text = CStr(ScrollBarRed)

Sheets("Формы").CmdColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

End Sub

Private Sub Textblue_Change()

Dim blue As Byte

If Not IsNumeric(Textblue) Then Textblue = 0

blue = Textblue

ScrollBarBlue.Value = blue

UserFormColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

End Sub

Private Sub TextGreen_Change()

Dim green As Byte

If Not IsNumeric(TextGreen) Then TextGreen = 0

green = TextGreen

ScrollBarGreen.Value = green

UserFormColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

End Sub

'Private Sub TextRed_Change()

'Dim red As Byte

'If Not IsNumeric(TextRed) Then TextRed = 0

'red = TextRed

'ScrollBarRed.Value = red

'UserFormColor.BackColor = RGB(ScrollBarRed, ScrollBarGreen, ScrollBarBlue)

'End Sub

Private Sub UserForm_Initialize()

TextRed = 255

Label1.BackColor = RGB(255, 0, 0)

Textblue = 255

Label2.BackColor = RGB(0, 255, 0)

TextGreen = 255

Label3.BackColor = RGB(0, 0, 255)

End Sub

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.