Оглавление
Задание 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)
“Информационные
технологии. Учебное пособие”. Под ред. А. К. Волкова. Москва. Издательство
“Инфра-М”.
4)
Информационные
технологии управления: Учебное пособие. Под редакцией Ю.М. Черкасова. М.
ИНФРА-М,
5) Организация работы с документами: Учебник под ред. Кудряева В.А. М.: Инфра-М, 2004.