Материал: 1319

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

End Sub

_______________________________________________________________________________________________________

Private Sub ToggleButton2_Change()

 

If ToggleButton2.Value = True Then

 

Image2.Left = Image2.Left – 10

‘смещаем рисунок влево

Else

 

Image2.Left = Image2.Left + 10

‘возвращаем обратно

End If

 

End Sub

_______________________________________________________________________________________________________

Private Sub ToggleButton3_Change()

 

If ToggleButton3.Value = True Then

 

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

‘красный цвет

Else

 

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

‘белый цвет

End If

 

End Sub

_______________________________________________________________________________________________________

Private Sub ToggleButton4_Change()

If ToggleButton4.Value = True Then

Label2.Font.Size = 14

‘размер шрифта 14

Else

 

Label2.Font.Size = 10

‘размер шрифта 10

End If

 

End Sub

 

Пример 16

На форме расположены шесть кнопок для выполнения следующих действий:

«Вычислить» – вычисление значений функции y = sinx на отрезке [–2; 2] с шагом 0,3 и вывод их на рабочий лист «Таблица»;

«Формат ячеек» – форматирование таблицы;

«Очистить» – удаление таблицы;

«График» – построение графика функции на отдельном листе с именем «График»;

«Формат графика» – форматирование диаграммы;

«Удалить» – удаление листа с графиком.

Внешний вид формы показан на рис. 22.

36

Рис. 22. Внешний вид формы

Напишем процедуру обработки события Click для первой кнопки.

Private Sub CommandButton1_Click()

‘кнопка «Вычислить»

Dim x As Single, y As Single, i As Byte

 

Sheets(“Таблица”).Select

 

Cells(1, 1) = “x”

‘выводим заголовок таблицы

Cells(1, 2) = “y”

 

 

i = 2

‘счетчик номеров строк

For x = –2 To 2 Step 0.3 ‘задаем значения аргумента функции

y = sin(x)

‘вычисляем значение функции

Cells(i, 1) = x

‘выводим на лист таблицу значений

Cells(i, 2) = y

‘х и у

i = i + 1

‘увеличиваем счетчик строк

Next x

 

End Sub

 

Запишем макрос, выполняющий форматирование таблицы, и скопируем его команды в процедуру кнопки «Формат ячеек». Процедура может выглядеть следующим образом.

Private Sub CommandButton2_Click()

 

Sheets(“Таблица”).Select

‘выделяем лист

Range(“A1:B15”).Select

‘выделяем ячейки

With Selection.Borders(xlEdgeLeft)

‘левая граница

.LineStyle = xlContinuous

 

End With

 

With Selection.Borders(xlEdgeTop)

‘верхняя граница

.LineStyle = xlContinuous

 

End With

 

37

 

With Selection.Borders(xlEdgeBottom)

‘нижняя граница

.LineStyle = xlContinuous

 

End With

 

With Selection.Borders(xlEdgeRight)

‘правая граница

.LineStyle = xlContinuous

 

End With

 

With Selection.Borders(xlInsideVertical)

‘вертикальная сетка

.LineStyle = xlContinuous

 

End With

With Selection.Borders(xlInsideHorizontal) ‘горизонтальная

.LineStyle = xlContinuous

 

End With

 

Range(“A1:B1”).Select

‘выделяем заголовок таблицы

‘горизонтальное и вертикальное выравнивание – по центру

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlCenter

End With

 

Selection.Font.Bold = True

‘полужирное начертание

With Selection.Interior

‘цвет и тип заливки

.ColorIndex = 6

 

.Pattern = xlSolid

 

End With

 

With Selection.Font

‘шрифт и размер шрифта

.Name = “Arial Cyr”

 

.Size = 14

 

End With

 

End Sub

 

Аналогично создадим процедуры для остальных кнопок.

Private Sub CommandButton3_Click() ‘кнопка «Очистить»

Sheets(“Таблица”).Select

‘выделяем лист

Range(“A1:B15”).Clear

‘очищаем ячейки

End Sub

 

_______________________________________________________________________________________________________

Private Sub CommandButton4_Click() ‘кнопка «График» Sheets(“Таблица”).Select

Range(“A1:B15”).Select

Charts.Add ‘добавляем диаграмму

38

‘тип диаграммы – точечная, без маркеров

ActiveChart.ChartType = xlXYScatterSmoothNoMarkers ‘диапазон данных

ActiveChart.SetSourceData Source:=Sheets(“Таблица”) _

.Range(“A1:B15”), PlotBy:=xlColumns ‘расположение диаграммы – новый лист “График”

ActiveChart.Location Where:=xlLocationAsNewSheet, _

Name:= “График”

 

With ActiveChart

 

.HasTitle = True ‘наличие заголовка

 

.ChartTitle.Characters.Text = “y=sin(x)”

‘текст заголовка

‘подписываем ось категорий (Ох)

 

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = “x” ‘подписываем ось значений (Оу)

.Axes(xlValue, xlPrimary).HasTitle = True

.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = “y” End With

With ActiveChart.Axes(xlCategory)

.HasMajorGridlines = True

‘линии сетки по оси категорий

End With

 

With ActiveChart.Axes(xlValue)

 

.HasMajorGridlines = True

‘линии сетки по оси значений

End With

 

ActiveChart.HasLegend = False

‘убираем легенду

End Sub

_______________________________________________________________________________________________________

Private Sub CommandButton5_Click() ‘кнопка «Формат графика»

Sheets(“График”).Select

 

 

ActiveChart.PlotArea.Select

‘выделили область построения

With Selection.Border

‘параметры границы

.ColorIndex = 16

‘цвет

 

.LineStyle = xlContinuous

‘тип линии

End With

 

 

Selection.Interior.ColorIndex = xlNone

‘убрали заливку

ActiveChart.SeriesCollection(1).Select

‘выделили ряд данных

With Selection.Border

 

 

.ColorIndex = 57

‘цвет линии

.Weight = xlThick

‘толщина линии

39

.LineStyle = xlContinuous

‘стиль линии

End With

 

 

 

ActiveChart.Axes(xlCategory).Select

‘выделили ось категорий

With Selection.Border

 

 

‘форматируем линию оси

.ColorIndex = 57

 

 

 

.Weight = xlMedium

 

 

 

.LineStyle = xlContinuous

 

 

End With

 

 

 

With Selection

 

 

 

.MajorTickMark = xlOutside

 

‘основные метки по оси

.MinorTickMark = xlNone

‘убрать промежуточные метки

.TickLabelPosition = xlNextToAxis

‘положение метки

End With

 

 

 

With ActiveChart.Axes(xlCategory)

 

.MinimumScale = –2

‘минимальное значение

.MaximumScale = 2

‘максимальное значение

End With

 

 

 

ActiveChart.Axes(xlValue).Select

‘выделили ось значений

With Selection.Border

 

 

‘форматируем линию оси

.ColorIndex = 57

 

 

 

.Weight = xlMedium

 

 

 

.LineStyle = xlContinuous

 

 

End With

 

 

 

ActiveChart.ChartTitle.Select

‘выделили заголовок диаграммы

Selection.Font.Bold = True

 

‘полужирное начертание

With Selection.Font

 

 

 

.Name = “Arial Cyr”

 

‘шрифт

.Size = 14

 

‘размер шрифта

End With

 

 

 

ActiveChart.Deselect

 

‘снять выделение с диаграммы

End Sub

_______________________________________________________________________________________________________

Private Sub CommandButton6_Click()

‘кнопка «Удалить»

Sheets(“График”).Select

‘выделили лист с диаграммой

ActiveWindow.SelectedSheets.Delete

‘удалили лист

End Sub

 

 

Пример 17

40