Учебное пособие: Программирование на VBA

Министерство образования и науки российской федерации

Государственное образовательное учреждение

высшего профессионального образования

«Липецкий государственный технический университет»

(ЛГТУ)

Экономический факультет

Кафедра экономики

Отчет

по курсу «Офисное программирование»

на тему: ПРОГРАММИРОВАНИЕ НА VBA

ВЫПОЛНИЛ: студент гр. ЭМ-09-1

Морозов М. О.

_________________

подпись, дата

ПРОВЕРИЛ: Кудинов Ю. И.

_________________

подпись, дата

Липецк 2010

Задание №1

С помощью окна InputBox введите три числа и в окне MsgBoxвыведите наибольшее из них.

Sub Макрос1()

Число1 = CInt(InputBox(«Введите число»))

Число2 = CInt(InputBox(«Введите число»))

Число3 = CInt(InputBox(«Введите число»))

'ищем максимум

максимум = Число1

If максимум < Число2 Then

максимум = Число2

End If

If максимум < Число3 Then

максимум = Число3

End If

MsgBox «Наибольшее число из введенных: » & максимум

End Sub

Задание №11

Подсчитайте произведение элементов двумерного массива.

Sub Макрос11()

Dim Vals(10, 5) As Integer

'заполним массив случайными числами (кроме нуля)

For i = 0 To 10

For j = 0 To 5

Vals(i, j) = Int(10 * Rnd()) + 1

Next

Next

'посчитаем произведение элементов массива

p = 1

For i = 0 To 10

For j = 0 To 5

p = p * Vals(i, j)

Next

Next

'выведем полученное произведение

MsgBox «Произведение элементов массива равно: » & p

End Sub


Задание №23

Создайте макрос с кнопкой запуска, позволяющий строить график <x,y> по данным, находящимся в ячейках А1: А10 (значения х) и В1: В10 (значения y).

Sub Макрос23()

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlLine

ActiveChart.SetSourceData Source:=Range(«A1:A10»)

ActiveChart.SeriesCollection(1).XValues = "='Лист1'!$B$1:$B$10"

End Sub

Sub Макрос4()

'

' Макрос4 Макрос

'

'

ActiveCell.Offset(-11, 2).Range(«A1»).Select

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlLine

ActiveChart.SetSourceData Source:=ActiveCell.Offset(-5, -4).Range(«A1:A10»)

ActiveChart.SeriesCollection(1).XValues = "='Лист1'!$B$1:$B$10"

End Sub

Задание №33

На основании условия задачи 31 выполните математические операции, используя вместо кнопок соответствующие переключатели: Сложение, Вычитание, Умножение, Деление.

Private Sub cmb_Change()

Select Case cmb.Value

Case «Сложение»

Range(«D8»).Value = Range(«A8»).Value + Range(«B8»).Value

Case «Вычитание»

Range(«D8»).Value = Range(«A8»).Value — Range(«B8»).Value

Case «Умножение»

Range(«D8»).Value = Range(«A8»).Value * Range(«B8»).Value

Case «Деление»

Range(«D8»).Value = Range(«A8»).Value / Range(«B8»).Value

End Select

End Sub

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

If KeyCode = vbKeyReturn Then

cmb.Clear

cmb.AddItem «Сложение»

cmb.AddItem «Вычитание»

cmb.AddItem «Умножение»

cmb.AddItem «Деление»

End If

End Sub

Задание №44

Составьте в VBAтаблицу МАГАЗИНЫ примините к ней формат Простой.

Sub Макрос44()

'

' Макрос44 Макрос

Range(«A1»).Activate

'ActiveCell.Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Магазин»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Вид»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Январь»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Февраль»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Март»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Апрель»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «Итого»

ActiveCell.Offset(1, -6).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «МИРАЖ»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «СУВЕНИР»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «ПРЕСТИЖ»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «ДОМОВОЙ»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «ЮНИОН»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «МОДА»

ActiveCell.Offset(-5, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «М»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «А»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «М»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «А»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «М»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «А»

ActiveCell.Offset(-5, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15345»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «13440»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «16890»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «14840»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «13985»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «17345»

ActiveCell.Offset(-5, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «16725»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15540»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15730»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «16320»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15565»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «14255»

ActiveCell.Offset(-5, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «17340»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «14455»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «17220»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15330»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «16775»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15660»

ActiveCell.Offset(-5, 1).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «14990»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «16385»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «15700»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «16125»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «13355»

ActiveCell.Offset(1, 0).Range(«A1»).Select

ActiveCell.FormulaR1C1 = «13480»

ActiveCell.Offset(0, 1).Range(«A1»).Select

ActiveCell.Offset(0, -6).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, -6).Columns(«A:A»).EntireColumn.ColumnWidth = 10.57

ActiveCell.Offset(1, -6).Range(«A1:B1»).Select

With Selection

.HorizontalAlignment = xlGeneral

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

End With

ActiveCell.Offset(-7, 0).Range(«A1:G8»).Select

'ActiveCell.Offset(-7, 6).Range(«A1»).Activate

With Selection

.HorizontalAlignment = xlCenter

.VerticalAlignment = xlBottom

.WrapText = False

.Orientation = 0

.AddIndent = False

.IndentLevel = 0

.ShrinkToFit = False

.ReadingOrder = xlContext

End With

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

With Selection.Borders(xlInsideHorizontal)

.LineStyle = xlContinuous

.ColorIndex = xlAutomatic

.TintAndShade = 0

.Weight = xlThin

End With

ActiveCell.Range(«A8»).Select

ActiveCell.FormulaR1C1 = «Итого»

ActiveCell.Range(«A1:B1»).Select

ActiveWindow.SmallScroll Down:=-3

ActiveCell.Offset(-7, 0).Range(«A1:G8»).Select

ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$G$8"),, xlYes).Name = _

«Таблица3»

ActiveCell.Range(«A1:G8»).Select

ActiveSheet.ListObjects(«Таблица3»).TableStyle = «TableStyleLight8»

ActiveCell.Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, 1).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, 2).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, 3).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, 4).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, 5).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(0, 6).Columns(«A:A»).EntireColumn.EntireColumn.AutoFit

ActiveCell.Offset(8, 0).Range(«A1»).Select

End Sub


Используемая литература:

1. Практическая работа в VBA: Учебное пособие/ Липецкий Государственный технический университет, Липецк, 2001. – 98с.

еще рефераты
Еще работы по информатике