Оглавление

Задание 1. Основные методы объекта Range.. 2

Задание 2. 3

Листинг процедур. 3

Задание 3. 5

Листинг процедур. 5

Задание 4. 7

Листинг процедур. 7

Список литературы... 11

Задание 1. Основные методы объекта Range

Объект Range входит в состав объекта Worksheet и представляет одну или несколько ячеек рабочего листа. Его главное назначение – хранить и отображать отдельные фрагменты данных: числа, строки или формулы. Но ячейки, представляемые объектом Range, - не просто ящики для хранения информации. Из них Вы вправе вызывать встроенные функции Excel и функции VBA. Ячейки можно связывать с другими ячейками на этом же листе, на другом листе и даже в другой рабочей книге. Понимание гибкости и силы объекта Range позволит Вам полнее использовать вычислительную мощь Excel и создавать качественные приложения для анализа данных.

Объект Range обладает следующими методами:

Calculate – пересчитывает все формулы диапазона. Аргументов нет.

Worksheets (1). Range (“A1: F20”). Calulate

Clear Contents – удаляет из диапазона все значения и формулы, но оставляет форматирование. Аргументов нет.

Worksheets (1). Range (“A1: F20”). Clear Contents

Copy – копирует содержимое диапазона в другой диапазон или в буфер обмена. Аргумент: Destination - диапазон для копирования содержимого исходного диапазона, этот аргумент отсутствует, содержимое копируется в буфер обмена.

Worksheets (1). Range (“A1”). Copy



Задание 2

Мы создали пользовательскую функцию на листе «Задание 2» в модуле  Module1. Функция получает в качестве параметра переменную типа String, возвращает переменную такого же типа. Функция использует следующие стандартные функции:

Trim – убирает лишние пробелы в строке;

Left – возвращает некоторое количество символов от начала строки;

Mid – вырезает из строки часть;

Len – возвращает количество символов в строке;

Листинг процедур

Dim r(17), c(4)

Function swap(s)

  s = Trim(s)

  s_reverse = ""

  For n = 1 To Len(s)

    If Mid(s, n, 1) = " " Then

      left_n = n

      GoTo l

    End If

  Next n

l:

  left_word = Left(s, left_n - 1)

  For n = 1 To Len(s)

    s_reverse = s_reverse + Mid(s, Len(s) - n + 1, 1)

  Next n

 

  For n = 1 To Len(s_reverse)

    If Mid(s_reverse, n, 1) = " " Then

      right_n = n

      GoTo l1

    End If

  Next n

l1:

  right_word = Left(s_reverse, right_n - 1)

  right_n = Len(s) - right_n

  temp = ""

  For n = 1 To Len(right_word)

    temp = temp + Mid(right_word, Len(right_word) - n + 1, 1)

  Next n

  right_word = temp

  middle = Mid(s, left_n + 1, right_n - left_n)

  swap = right_word + " " + middle + " " + left_word

End Function

Задание 3

Каждую кнопку мы привязали к макросу. Макросы манипулирует, в основном, объектом Range, который позволяет получить доступ к ячейкам и к их свойствам.

Листинг процедур

Sub Макрос1()

  m = 1

  For n = 1 To 17

    Range(Cells(n + 1, 2), Cells(n + 1, 2)).Value = n

    Range(Cells(n + 1, 5), Cells(n + 1, 5)).Value = n

    If m = 1 Then

      Range(Cells(n + 1, 2), Cells(n + 1, 2)).Font.Italic = True

      Range(Cells(n + 1, 5), Cells(n + 1, 5)).Font.Italic = True

      m = 1 - m

    Else

      Range(Cells(n + 1, 2), Cells(n + 1, 2)).Font.Underline = xlUnderlineStyleSingle

      Range(Cells(n + 1, 5), Cells(n + 1, 5)).Font.Underline = xlUnderlineStyleSingle

      m = 1 - m

    End If

  Next n

End Sub


Sub Макрос2()

  Range(Cells(1 + 1, 2), Cells(1 + 17, 5)).Value = ""

  Range(Cells(1 + 1, 2), Cells(1 + 17, 5)).Font.Italic = False

  Range(Cells(1 + 1, 2), Cells(1 + 17, 5)).Font.Underline = False

End Sub


Sub Макрос3()

  For n = 1 To 17

    r(n) = Rows(1 + n).RowHeight

  Next n

  For n = 1 To 4

    c(n) = Columns(1 + n).ColumnWidth

  Next n

End Sub


Sub Макрос4()

  For n = 1 To 17

    Rows(1 + n).RowHeight = r(n)

  Next n

  For n = 1 To 4

    Columns(1 + n).ColumnWidth = c(n)

  Next n

End Sub


Задание 4

Это задание является самым сложным из всех заданий. Его особенностью можно назвать использование данных разных рабочих листов. Для этого мы используем коллекцию объектов Sheets и объект ActiveSheet, а также методы Copy и Paste для копирования с одного листа на другой. Для выборочной печати данных мы сначала выбираем по необходимым параметрам, задаваемым через пользовательскую функцию UserForm1, значения, затем компонуем таблицу, помещая её в отдельный рабочий лист. И уже этот лист, используя метод PrintOut объекта ActiveSheet мы выводим на печать.

Листинг процедур

Dim n As Integer

Sub Макрос5()

  If n > 1 Then n = n - 1 Else: n = 1

  Sheets("Задание 4").Select

  Range(Cells(2 + n, 1), Cells(2 + n, 7)).Select

  Selection.Copy

  Sheets("Задание 4_1").Select

  Range(Cells(2, 1), Cells(2, 1)).Select

  ActiveSheet.Paste

End Sub

Sub Макрос6()

  Sheets("Задание 4").Select

  If Range(Cells(3 + n, 1), Cells(3 + n, 1)).Value <> "" Then n = n + 1

  Range(Cells(2 + n, 1), Cells(2 + n, 7)).Select

  Selection.Copy

  Sheets("Задание 4_1").Select

  Range(Cells(2, 1), Cells(2, 1)).Select

  ActiveSheet.Paste

End Sub


Sub Макрос7()

  Sheets("Задание 4").Select

  Rows(n + 2).Select

  Selection.Delete Shift:=xlUp

  Sheets("Задание 4_1").Select

End Sub


Sub Макрос8()

  Sheets("Задание 4_1").Select

  Range(Cells(2, 1), Cells(2, 7)).Select

  Selection.Copy

  Sheets("Задание 4").Select

  m = 1

l:

  If Range(Cells(2 + m, 1), Cells(2 + m, 1)).Value <> "" Then

    m = m + 1

    GoTo l

  End If

  Range(Cells(2 + m, 1), Cells(2 + m, 1)).Select

  ActiveSheet.Paste

  Sheets("Задание 4_1").Select

End Sub


Sub Макрос9()

  Sheets("Задание 4").Select

  m = 1

l:

  If Range(Cells(2 + m, 6), Cells(2 + m, 6)).Value <> "" Then

    UserForm1.ComboBox1.AddItem (Range(Cells(2 + m, 6), Cells(2 + m, 6)).Value)

    m = m + 1

    GoTo l

  End If

    Sheets("Задание 4_1").Select

    UserForm1.Show

End Sub





Private Sub CommandButton1_Click()

  Sheets("Задание 4_печать").Select

  Range(Cells(2, 1), Cells(100, 7)).Value = ""

  Dim s, s1 As String

  m = 1

  n = 1

l:

  Sheets("Задание 4").Select

  If Range(Cells(2 + m, 1), Cells(2 + m, 1)).Value <> "" Then

    Sheets("Задание 4").Select

    s = Range(Cells(2 + m, 4), Cells(2 + m, 4)).Value

    s1 = Range(Cells(2 + m, 6), Cells(2 + m, 6)).Value

    If s = UserForm1.TextBox1.Text And s1 = UserForm1.ComboBox1.Text Then

      Range(Cells(2 + m, 1), Cells(2 + m, 7)).Select

      Selection.Copy

      Sheets("Задание 4_печать").Select

      Range(Cells(1 + n, 1), Cells(1 + n, 1)).Select

      n = n + 1

      ActiveSheet.Paste

    End If

    m = m + 1

    GoTo l

  End If

  ActiveSheet.PrintOut

  Sheets("Задание 4_1").Select

End Sub


Список литературы

1)          “Информатика. Учебник для ВУЗов”. Под ред. Макаровой Н. В. Москва. Издательство “Финансы и статистика”. 2003 г.

2)          “Информатика”. В. А. Острейковский. Москва. Издательство “Высшая школа”. 2002 г.

3)          “Информационные технологии. Учебное пособие”. Под ред. А. К. Волкова. Москва. Издательство “Инфра-М”. 2001 г.

4)          Информационные технологии управления: Учебное пособие. Под редакцией Ю.М. Черкасова. М. ИНФРА-М, 2000 г.

5)          Организация работы с документами: Учебник под ред. Кудряева В.А. М.: Инфра-М, 2004.