Работа с пользовательскими формами в 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