Программирование на VBA

Автор работы: Пользователь скрыл имя, 18 Февраля 2011 в 21:21, лабораторная работа

Описание работы

Работа с макросами

Файлы: 1 файл

отчет_миша.docx

— 25.09 Кб (Скачать файл)

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

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

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

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

(ЛГТУ) 
 
 

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

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

Отчет

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

на тему: ПРОГРАММИРОВАНИЕ НА 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

Информация о работе Программирование на VBA