Работа с пользовательскими формами в VBAProject. Работа с диаграммами MS Excel

Последовательность действий при создании пользовательского диалогового окна в VBAProject, основные свойства объекта UserForm и работа с элементами управления. Программный код написания процедур, графически отображающих данные в виде диаграмм в MS Excel.

Рубрика Программирование, компьютеры и кибернетика
Вид задача
Язык русский
Дата добавления 18.04.2011
Размер файла 3,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Работа с пользовательскими формами

1. Объект Userform

Пользовательские диалоговые окна создаются на основе технологии пользовательских форм UserForm. При создании пользовательского диалогового окна следует придерживаться следующую последовательность действий:

a) Вставим новую форму UserForm в проект VBAProject рабочей книги.

b) Создадим процедуру, которая будет отображать форму UserForm.Эта процедура располагается в модуле кода VBA (а не в модуле кода формы UserForm).

c) Добавим элементы управления в форму UserForm.

d) Настроим свойства добавленных элементов управления.

Создадим процедуру “обработчики событий” для элементов управления.

2. Основные свойства обьекта UserForm

Name-возвращает имя для UserForm

BackColor-Целое типа Long, определяет цвет фона формы

BorderColor-определяет цвет границы формы

Caption-текст, выводимый в качестве заголовка формы

Font-возвращает ссылку на объект Font, посредством которого можно выбрать параметры шрифта формы или элемента управления

ForeColor-То же самое, что и свойство BackColor, но устанавливает цвет, используемый для переднего плана объекта формы

ActiveControl -возвращает объектную ссылку на элемент

3. Основные события объекта UserForm:

Activate (Private sub object_Activate() )-инициируется всякий раз, когда окно формы становится активным. Используйте это событие для обновления содержимого диалоговых элементов управления, чтобы отразить любые изменения, которые произошли, пока окно формы было неактивным.

Click (Private sub object_Click() )- инициируется всякий раз, когда по форме щелкают мышью.

DblClick (Private sub object_DblClick() )- инициируется всякий раз, когда по форме дважды щелкают мышью.

Deactivate (Private sub object_Deactivate() )-инициируется всякий раз, когда форма перестает быть активной.

4. Основные методы объекта UserForm:

Copy-копирует выделенный в элементе управления текст в буфер обмена Windows

Cut-вырезает выделенный в элементе управления текст и помещает его в буфер обмена Windows

Hide- скрывает UserForm , не выгружая ее из памяти, сохраняя значения элементов управления формы и всех переменных, объявленных в модуле класса формы

Paste- вставляет содержимое буфер обмена Windows в текущий элемент управления.

1.1 Даны четыре Label в углах и Commandbutton в середине. Для Commandbutton создайте процедуру, которая по часовой стрелке меняет места Label.

Решение:

Общий вид формы

Рис.1

Соответствующий код:

Private Sub CommandButton1_Click()

a = Label4.Left

b = Label4.Top

Label4.Left = Label1.Left

Label4.Top = Label1.Top

Label1.Left = Label2.Left

Label1.Top = Label2.Top

Label2.Left = Label3.Left

Label2.Top = Label3.Top

Label3.Left = a

Label3.Top = b

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.2

1.2 Даны три Label в углах и Commandbutton в середине. Для Commandbutton создайте процедуру, которая по часовой стрелке меняет надпис Label.

Решение:

Общий вид формы

Рис.3

Соответствующий код:

Private Sub CommandButton1_Click()

a = Label1.Caption

Label1.Caption = Label3.Caption

b = Label2.Caption

Label2.Caption = a

Label3.Caption = b

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.4

1.3 Даны три Label в углах и Commandbutton в середине. Для Commandbutton создайте процедуру, которая по часовой стрелке меняет цвет надписов Label.

Решение:

Общий вид формы

Рис.5

Соответствующий код:

Private Sub CommandButton1_Click()

a = Label1.ForeColor

Label1.ForeColor = Label2.ForeColor

Label2.ForeColor = Label3.ForeColor

Label3.ForeColor = a

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.6

1.4 Даны четыре TextBox и Commandbutton. Для Commandbutton создайте процедуру, которая находит самое большое число среди трёх чисел и напишет в четвёртом Commandbutton.

Решение:

Общий вид формы

Рис.7

Соответствующий код:

Private Sub CommandButton1_Click()

TextBox1.Text = Int(Rnd(1) * 100) - 50

TextBox2.Text = Int(Rnd(1) * 100) - 50

TextBox3.Text = Int(Rnd(1) * 100) - 50

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

If a > b And a > c Then TextBox4.Text = a

If b > a And b > c Then TextBox4.Text = b

If c > a And c > b Then TextBox4.Text = c

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.8

1.5 Даны 3 TextBox, 2 Label и Commandbutton. Для Commandbutton создайте процедуру, которая находит значения х-ов и выводит ответ в 2 Label.

Решение:

Общий вид формы

Рис.9

Соответствующий код:

Private Sub CommandButton1_Click()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

d = b ^ 2 - 4 * a * c

If d < 0 Then

Label1.Caption = "Муодила хал надорад"

Label2.Caption = ""

ElseIf d = 0 Then

x = -b / (2 * a)

Label1.Caption = x

Label2.Caption = ""

Else

x1 = (-b - Sqr(d)) / (2 * a)

x2 = (-b + Sqr(d)) / (2 * a)

Label1.Caption = x1

Label2.Caption = x2

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.10

1.6 Даны ListBox, Label и Commandbutton. Для Commandbutton создайте процедуру, которая в ListBox выводит значения диапазона А1:А25 и среди них находит самое большое значения выводит ответ в Label.

Решение:

Общий вид формы

Рис.11

Соответствующий код:

Private Sub CommandButton1_Click()

Dim max As Integer

max = Cells(1, 1)

UserForm6.ListBox1.RowSource = "1!B1:B6"

For i = 1 To 25

Cells(i, 1) = Int(Rnd(1) * 10) + 1

If max < Cells(i, 1) Then

max = Cells(i, 1)

End If

Next i

Label1.Caption = max

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.12

1.7 Даны ListBox, Label и Commandbutton. Для Commandbutton создайте процедуру, которая в ListBox выводит значения диапазона А1:А25 (в ячейках существуют по одному слова) и среди них находит самое длинное слово и выводит ответ в Label.

Решение:

Общий вид формы

Рис.13

Соответствующий код:

Private Sub CommandButton1_Click()

Dim m As Integer

Dim f As String

Dim a As Range

Set a = Range("A1:A5")

ListBox1.Clear

For i = 1 To a.Count

ListBox1.AddItem (a(i))

Next i

m = Len(ListBox1.List(0))

For j = 0 To ListBox1.ListCount - 1

If Len(ListBox1.List(j)) > m Then

m = Len(ListBox1.List(j))

Label1.Caption = ListBox1.List(j)

Label2.Caption = m

ListBox1.ListIndex = j

End If

Next j

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.14

1.8 Даны ListBox, Label и Commandbutton. Для Commandbutton создайте процедуру, которая в ListBox выводит значения диапазона А1:А5 (в ячейках существуют по одному слова) в Label вывести тех слов в одной строке и между ними поставить прбелы.

Решение:

Общий вид формы ; жить порою сложно, но все таки можно

Рис.15

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Range

Set a = Range("A1:A10")

ListBox1.Clear

For i = 1 To a.Rows.Count

ListBox1.AddItem (a(i))

Next i

For j = 1 To ListBox1.ListCount - 1

s = s + " " + ListBox1.List(j)

Next j

Label1.Caption = s

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.16

1.9 Даны ListBox и Commandbutton. Для Commandbutton создайте процедуру, которая в из списка ListBox выводит значения, в ячейках начиная с А1 и в конец вычислят сумму чисел

Решение:

Общий вид формы

Рис.17

Соответствующий код:

Private Sub CommandButton1_Click()

Dim g As Range

Set g = Range("A1:A6")

g.Clear

ListBox1.Clear

For i = 1 To 6

ListBox1.AddItem Int(Rnd(1) * 50 + 2)

Next i

s = 0

For f = 0 To g.Rows.Count - 1

g(f + 1) = Int(ListBox1.List(f))

s = s + g(f + 1)

Next f

g(f + 1) = "sum= " & s

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.18

1.10. Даны ListBox и Commandbutton. Для Commandbutton создайте процедуру, которая из списка ListBox выводит значения в ячейках начина с А1 вывести тех слов, в которых число букв больше 5 и в конец вывести их количество.

Решение:

Общий вид формы

Рис.19

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As String

Dim b As Integer

Dim g As Range

Set g = Range("A10:A30")

g.Clear

ListBox1.Clear

b = InputBox("микдори калимаро дохил намоед")

If b > 0 Then

For j = 1 To b

a = InputBox("калимаро дохил намоед")

ListBox1.AddItem (a)

Next j

For i = 0 To ListBox1.ListCount - 1

If Len(ListBox1.List(i)) > 5 Then

s = s + 1

g(s) = ListBox1.List(i)

End If

g(s + 1) = s

Next i

Else

MsgBox "адади аз 0 калонро дохил намоед?"

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 20

1.11 Даны ListBox и Commandbutton. Для Commandbutton создайте процедуру, которая из списка ListBox выводит значения в ячейках начина с А7 вывести тех слов, которые состоит только из одной слоги. Вывести их количество.

Решение

Общий вид формы

Рис.21

Соответствующий код:

Private Sub CommandButton1_Click()

ListBox1.Clear

Dim a As Range

Dim b As String

Dim c As String

Dim p As Integer, f As Integer

Dim kal(5) As String

w = 7

Set a = Range("B1:B5")

For i = 1 To a.Count

kal(i) = Cells(i, 2).Value

ListBox1.AddItem kal(i)

Next i

For i = 0 To ListBox1.ListCount - 1

b = ListBox1.List(i)

For j = 1 To Len(b)

c = Mid(b, j, 1)

If c = "y" Or c = "o" Or c = "i" Or c = "u" Or c = "a" Then f = f + 1

Next j

If f = 1 Then

Cells(w, 1) = b

p = p + 1

w = w + 1

f = 0

End If

Next i

Cells(w, 1) = p

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 22

1.11 Даны ListBox и Commandbutton. Для Commandbutton создайте процедуру, которая из спска чисел ListBox выводит положительные числа начиная с А1 первого столбца, а те, которые меньше 0 во втором столбце.

Решение:

Общий вид формы

Рис. 23

Соответствующий код:

Private Sub CommandButton1_Click()

Dim b As Integer, c As Integer

Dim a(10) As Integer

ListBox1.Clear

For i = 1 To 10

a(i) = Int(Rnd(1) * 100) - 50

ListBox1.AddItem a(i)

Next i

For i = 0 To ListBox1.ListCount - 1

b = ListBox1.List(i)

If b > 0 Then Cells(i + 1, 1) = b

For j = 0 To ListBox1.ListCount - 1

c = ListBox1.List(j)

If c < 0 Then Cells(j + 1, 2) = c

Next j

Next i

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 24

Работа с элементами управления

Термины:

1. Элемент управления Textbox.

TextBox - позволяет вводить в диалоговом окне текст.

2. Элемент управления Label.

Label - отображает текст в диалоговом окне.

3. Элемент управления Command Button.

CommandButton - каждое создаваемое окно будет иметь минимум один элемент управления CommandButton. Обычно используется объекты CommandButton, представляющие кнопки Ok и Отмена.

3. Элемент управления Listbox.

ListBox - предоставляет список опций, из которого пользователь может выбрать один или несколько. Можно указать диапазон на листе, который содержит элементы списка. Этот диапазон может состоять из нескольких столбцов. Кроме того, элемент можно заполнить опциями также и с помощью кода VBA.

Задачи:

На первом рабочем листе даны элементы управления CommandButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а CommandButton вычисляет количество чётных среди чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(1).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

For i = 1 To a - 1

If Application.Sheets(1).Cells(i, 1) Mod 2 = 0 Then

s = s + 1

End If

Next i

MsgBox "dar in jo " & s & " -to adadi juft hast", vbExclamation

End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Dim a As Integer

a = 1

If KeyCode = 13 Then

Do While Not Application.Sheets(1).Cells(a, 1) = Empty

a = a + 1

Loop

Application.Sheets(1).Cells(a, 1) = CDbl(TextBox1.Text)

TextBox1.Text = ""

End If

End Sub

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii < 48 Or KeyAscii > 57 Then

If KeyAscii <> 45 Then

KeyAscii = 0

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 25

В первом рабочем листе даны элементы управления CommandButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а CommandButton вычисляет количество чисел делимых на 5 среди чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(2).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

For i = 1 To a - 1

If Application.Sheets(2).Cells(i, 1) Mod 5 = 0 Then

s = s + 1

End If

Next i

MsgBox "dar in jo " & s & " -to adadi ba 5 karati hast", vbExclamation

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.26

В первом рабочем листе даны элементы управления CommandButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а CommandButton находит максимальное число среди чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

Dim max As Integer

a = 1

Do While Not Application.Sheets(3).Cells(a, 1) = Empty

a = a + 1

Loop

max = Application.Sheets(3).Cells(1, 1)

For i = 1 To a - 1

If max < Application.Sheets(3).Cells(i, 1) Then

max = Application.Sheets(3).Cells(i, 1)

End If

Next i

MsgBox "adadi kalontarin=" & max, vbExclamation

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 27

В первом рабочем листе даны элементы управления CommandButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а CommandButton находит минимальное число среди чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim min As Integer

Dim a As Integer

a = 1

Do While Not Application.Sheets(4).Cells(a, 1) = Empty

a = a + 1

Loop

min = Cells(1, 1)

For i = 1 To a - 1

If min > Cells(i, 1) Then min = Cells(i, 1)

Next i

MsgBox "adadi khurdtarin=" & min, vbExclamation

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 28

В первом рабочем листе даны элементы управления CommandButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а CommandButton вычисляет количество отрицательных и положительных чисел среди чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

Dim s As Integer, p As Integer

a = 1

Do While Not Application.Sheets(5).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

For i = 1 To a - 1

If Cells(i, 1) < 0 Then

s = s + 1

Else

p = p + 1

End If

Next i

MsgBox "Mikdori adadhoi manfi=" & p & " " & "Mikdori adadhoi musbat=" & s, vbexclaminatoin

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.29

В первом рабочем листе даны элементы управления CommandButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а CommandButton вычисляет среднее значение чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

Dim s As Integer

a = 1

Do While Not Application.Sheets(6).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

For i = 1 To a - 1

s = s + Cells(i, 1)

Next i

MsgBox "Hisobi miyonai adadho=" & s / i, vbExclamation

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис. 30

В первом рабочем листе даны элементы управления CommandButton, две OptionButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а функция CommandButton соответственно значения OptionButton вычисляет количества чётных и нечётных чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(12).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

For i = 1 To a - 1

If Int(Cells(i, 1)) = Cells(i, 1) Then

s = s + 1

Else

p = p + 1

End If

Next i

If OptionButton2.Value = True Then

MsgBox "dar in jo " & s & " -to adadi butun mavjud hast ", vbExclamation

If OptionButton1.Value = True Then

MsgBox "dar in jo " & p & " -to adadi gayributun mavjud hast ", vbExclamation

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.31

диалоговый пользовательский vbaproject диаграмма excel

В первом рабочем листе даны элементы управления CommandButton, две OptionButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а функция CommandButton соответственно значения OptionButton вычисляет количества отрицательных и положительных чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(8).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

For i = 1 To a - 1

If Application.Sheets(8).Cells(i, 1) Mod 2 = 0 Then

s = s + 1

Else

p = p + 1

End If

Next i

If OptionButton1.Value = True Then

MsgBox "dar in jo " & s & " -to adadi juft hast ", vbExclamation

If OptionButton2.Value = True Then

MsgBox "dar in jo " & p & " -to adadi juft hast ", vbExclamation

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.32

В первом рабочем листе даны элементы управления CommandButton, две OptionButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а функция CommandButton соответственно значения OptionButton вычисляет количества чисел меньше и больше 50. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(9).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

For i = 1 To a - 1

If Application.Sheets(9).Cells(i, 1) < 50 Then

s = s + 1

Else

p = p + 1

End If

Next i

If OptionButton1.Value = True Then

MsgBox "dar in jo " & s & " -to adadi az 50 kalon hast ", vbExclamation

If OptionButton2.Value = True Then

MsgBox "dar in jo " & p & " -to adadi az 50 khurd hast ", vbExclamation

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис .33

2.10 В первом рабочем листе даны элементы управления CommandButton, три OptionButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а функция CommandButton соответственно значения OptionButton вычисляет количества чисел больше, меньше и равно 10. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(10).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

k = 0

For i = 1 To a - 1

If Application.Sheets(10).Cells(i, 1) < 10 Then

s = s + 1

ElseIf Application.Sheets(10).Cells(i, 1) = 10 Then p = p + 1

Else

k = k + 1

End If

Next i

If OptionButton1.Value = True Then

MsgBox "dar in jo " & s & " -to adadi az 10 kalon hast ", vbExclamation

If OptionButton2.Value = True Then

MsgBox "dar in jo " & p & " -to adadi az 10 khurd hast ", vbExclamation

If OptionButton2.Value = True Then

MsgBox "dar in jo " & p & " -to adadi ba 10 barobar hast ", vbExclamation

End If

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.34

2.11. В первом рабочем листе даны элементы управления CommandButton, две OptionButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а функция CommandButton соответственно значения OptionButton вычисляет количества чисел делимые на 5 или на 10. Создайте их процедуру.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(11).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

For i = 1 To a - 1

If Application.Sheets(11).Cells(i, 1) Mod 5 = 0 Then

s = s + 1

If Application.Sheets(11).Cells(i, 1) Mod 10 = 0 Then

p = p + 1

End If

End If

Next i

If OptionButton1.Value = True Then

MsgBox "dar in jo " & s & " -to adadi ba 5 karati hast ", vbExclamation

If OptionButton2.Value = True Then

MsgBox "dar in jo " & p & " -to adadi ba 10 karati hast ", vbExclamation

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.35

2.12. В первом рабочем листе даны элементы управления CommandButton, две OptionButton и Textbox. Функция Textbox- это ввода данных в первый столбец, а функция CommandButton соответственно значения OptionButton вычисляет количества целых и нецелых чисел. Создайте их процедуру.

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Integer

a = 1

Do While Not Application.Sheets(12).Cells(a, 1) = Empty

a = a + 1

Loop

s = 0

p = 0

For i = 1 To a - 1

If Int(Cells(i, 1)) = Cells(i, 1) Then

s = s + 1

Else

p = p + 1

End If

Next i

If OptionButton2.Value = True Then

MsgBox "dar in jo " & s & " -to adadi butun mavjud hast ", vbExclamation

If OptionButton1.Value = True Then

MsgBox "dar in jo " & p & " -to adadi gayributun mavjud hast ", vbExclamation

End If

End If

End Sub

При нажатии кнопку OK выводится следующий результат:

Окно ответа

Рис.36

Работа с диаграммами MS Excel

3.1. Задан адрес диапазона, в котором имеются две последовательности чисел (количество чисел в них одинаковое). Напишите процедуру, которая графически отображает зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("B1:B10")

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(2).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xlXYScatterSmoothNoMarkers

ch.HasLegend = True

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.37

3.2. Задан адрес диапазона, в котором имеется последовательность чисел. Напишите процедуру, которая для этих чисел построила круговую секторную диаграмму процентного соотношения их значений от суммы.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:A10")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 20) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(1).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.ChartType = xl3DPieExploded

ch.SetSourceData Source:=a

ch.HasLegend = True

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.38

3.3. В диапазоне A1:B15 заданы две последовательносты чисел (по столбцам). Напишите процедуру, которая для этих последовательностей показала их графическую зависимость.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:B15")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(6).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

'ch.ChartType = xl3DPieExploded

ch.SetSourceData Source:=a

'ch.ChartType = xl3DPie 'zad1

ch.ChartType = xl3DColumn

'ch.ChartType = xlXYScatterSmoothNoMarkers 'zad3

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.39

3.4. В диапазоне A1:A24 задана последовательность чисел. Напишите процедуру, которая для этих чисел построила круговую секторную диаграмму процентного соотношения их значений от суммы:

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:A24")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(11).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.ChartType = xl3DPieExploded

ch.SetSourceData Source:=a

'ch.ChartType = xl3DPie 'zad1

'ch.ChartType = xl3DBarClustered

'ch.ChartType = xlXYScatterSmoothNoMarkers 'zad3

ch.ApplyDataLabels xlDataLabelsShowPercent

ch.HasLegend = True

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.40

3.5 Задан адрес диапазона, в котором имеются две последовательности чисел (количество чисел в них одинаковое). Напишите процедуру, которая графически в виде вертикальной гистограммы (диаграмма) отображает зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("B1:B10")

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(2).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xlXYScatterSmoothNoMarkers

ch.HasLegend = True

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.41

3.6 Задан адрес диапазона, в котором имеются две последовательности чисел (количество чисел в них одинаковое). Напишите процедуру, которая графически отображает в виде горизонтальной гистрограммы (диаграммы) зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:B10")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(4).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xl3DColumn

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.42

3.7 В диапазоне A1:B15 заданы две последовательности чисел (количество чисел в них одинаковое). Напишите процедуру, которая отображает в виде вертикальной гистограммы зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:B10")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(5).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xl3DBarClustered

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.43

3.8 В диапазоне A1:B15 заданы две последовательности чисел (количество чисел в них одинаковое). Напишите процедуру, которая отображает в виде горизонтальной гистограммы зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:B15")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(6).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xl3DColumn

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.44

3.9 В столбце A первого листа и столбце B второго заданы две последовательности по 20 чисел. Напишите процедуру, которая отображает в третьем листе в виде вертикальной гистограммы зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Range("A1:B15")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(7).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xl3DBarClustered

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.45

3.10 В строке 10 первого листа и строке 21 второго листа заданы две последовательности по 20 чисел. Напишите процедуру, которая отображает в третьем листе в виде горизонтальной гистограммы зависимость чисел этих последовательностей.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Randomize Timer

Dim a As Range

Dim b As Range

Dim chO As ChartObject

Dim ch As Chart

Set a = Sheets(7).Range("A1:A20")

Set b = Sheets(8).Range("B1:B20")

For i = 1 To b.Count

b(i) = Int(Rnd(1) * 30) + 1

Next i

a.Sort (a.Rows(1))

b.Sort (b.Rows(1))

Set chO = Application.ActiveWorkbook.Sheets(8).ChartObjects.Add(200, 200, 450, 300)

Set ch = chO.Chart

ch.SetSourceData Source:=a

ch.ChartType = xl3DColumn

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.46

3.11 В первых строках листов 1 и 2 рабочей книги заданы две последовательности по 10 чисел. Напишите процедуру, которая отображает в третьем листе зависимость чисел этих последовательностей в виде графики.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Range

Dim cho As ChartObject

Dim ch As Chart

Set a = Range("a1:b10")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 20) + 1

Next i

a.Sort (a.Rows(1))

Set cho = Application.ActiveWorkbook.Sheets(9).ChartObjects.Add(200, 200, 450, 300)

Set ch = cho.Chart

ch.ChartType = xlXYScatterLines

ch.SetSourceData Source:=a

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.47

3.12 В строке 4 начиная с первой ячейки активного листа рабочей книги задана последовательности из 9 чисел. Напишите процедуру, которая для этих чисел строит круговую (секторную) диаграмму их процентов в общей сумме.

Решение:

Соответствующий код:

Private Sub CommandButton1_Click()

Dim a As Range

Dim cho As ChartObject

Dim ch As Chart

Set a = Range("a1:b10")

For i = 1 To a.Count

a(i) = Int(Rnd(1) * 20) + 1

Next i

a.Sort (a.Rows(1))

Set cho = Application.ActiveWorkbook.Sheets(9).ChartObjects.Add(200, 200, 450, 300)

Set ch = cho.Chart

ch.ChartType = xl3DPieExploded

ch.SetSourceData Source:=a

ch.HasLegend = False

ch.HasTitle = False

End Sub

При нажатии кнопку OK выводится следующий результат:

Полученная диаграмма

Рис.48

Размещено на Allbest.ru


Подобные документы

  • Создание и форматирование таблицы MS Excel. Работа с файлами, возможности программы. Последовательность действий при создании, редактировании и сохранении таблицы. Относительная и абсолютная адресация. Специальные операции редактирования таблиц.

    лабораторная работа [18,8 K], добавлен 16.11.2008

  • Понятие и функции операционной системы. Основная особенность операционных систем реального времени. Работа с электронными таблицами. Фильтрация записей в таблице MS Excel. Установка пользовательского автофильтра в оборотную ведомость движения товаров.

    контрольная работа [547,8 K], добавлен 21.11.2013

  • Установка, запуск и настройка программы Excel. Создание рабочего листа. Назначение панели инструментов. Оформление страниц и печать. Создание и сохранение файлов книг. Форматирование и редактирование данных. Работа с формулами, функциями и диаграммами.

    реферат [3,1 M], добавлен 09.01.2011

  • Структура программы Pascal и алгоритмы решения задач. Работа с циклическими операторами, массивами, процедурами. Составление блок-схем задач. Операции над матрицами в программе MathCad. Работа формулами, графиками и диаграммами в оболочке MS Excel.

    курсовая работа [459,0 K], добавлен 13.08.2012

  • Табличный процессор Microsoft Excel 2000 - окна программы, меню, панель инструментов и буфер обмена. Создание, открытие и сохранение рабочей книги, завершение работы с Microsoft Excel, формат данных. Работа с базами данных и диаграммами, печать таблиц.

    курсовая работа [1,4 M], добавлен 29.12.2011

  • Функции системного блока, монитора, клавиатуры, мыши, принтера. Операционная система компьютера Microsoft Windows, офисные приложения. Работа с таблицами: элементы окна Excel, создание диаграммы, базы данных, их поиск и замена. Работа с мастером функций.

    контрольная работа [578,5 K], добавлен 27.11.2010

  • Алгоритм построения столбиковой, круговой диаграмм. Порядок заполнения расчетной таблицы с заполнением данных в графах, перенос данных в расчетную таблицу. Применение опции "Автозаполнение" при расчетах в таблице. Примеры расчета итоговых данных.

    контрольная работа [1,2 M], добавлен 26.03.2010

  • Практика построения графиков с использованием функций и работа с мастером диаграмм в ПП Microsoft Excel. Применение встроенных функций работы с матрицами для решения системы линейных уравнений. Практика создания запросов при работе с базами данных.

    контрольная работа [436,1 K], добавлен 08.08.2011

  • Работа в Microsoft Access, выделение фамилий и количества преподавателей мужского и женского пола со стажем работы более 10 лет. Общий вид текста SQL-запроса. Работа с электронными таблицами в Microsoft Excel. Результаты расчета зарплаты в Access и Excel.

    курсовая работа [2,3 M], добавлен 21.12.2013

  • Локальные и глобальные сети. Основные службы интернет. Свойства базы данных. Алгоритмы обратимых методов. Алгоритм KWE. Работа с редактором формул MS Equation Editor. Результаты расчетов, а также применение расчетных формул таблиц Microsoft Excel.

    контрольная работа [117,5 K], добавлен 28.04.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.