Смекни!
smekni.com

Программирование на 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с.