РефератыИнформатикаОсОсновы программирования на VBA модель объектов Exel

Основы программирования на VBA модель объектов Exel

Содержание


Введение
1. Проектирование программного модуля

1.1 Математическое описание задачи


1.2 Разработка схемы алгоритма и ее описание


2. Реализация программного модуля


2.1 Код программы


2.2 Описание использованных операторов


3. Тестирование программного модуля


Заключение


Список использованных источников


Приложения


Введение

Программа MS Excel, являясь лидером на рынке программ обработки электронных таблиц, определяет тенденции развития в этой области. Вплоть до версии 4.0 программа Excel представляла собой фактический стандарт с точки зрения функциональных возможностей и удобства работы. Теперь на рынке появилась версия Excel XP в пакете MS Office XP, которая содержит много улучшений и приятных неожиданностей.


К значительным достижениям в новых версиях программы Excel можно отнести появление трехмерных документов (блокнотов). Установление связей между файлами и таблицами значительно упростилось по сравнению с прежними версиями. Контекстные меню значительно расширены, а дополнительные программные инструменты облегчают решение сложных прикладных задач.


Следует также упомянуть о различных помощниках (Ассистентах), которые помогают пользователю задавать функции и выдают рекомендации, если существует более простой метод решения текущей задачи. В программу Excel встроена удобная подсистема помощи, которая в любой момент готова выдать необходимую справку.


Описанные до сих пор новшества касаются в основном комфорта в работе и быстрого освоения программы. Одним из важнейших функциональных расширений программы, предназначенным для профессионалов, является встроенная в Excel Среда программирования Visual Basic (VBA) для решения прикладных задач. Благодаря VBA фирме Microsoft удалось не только расширить возможности языка макрокоманд Excel 4.0, но и ввести новый уровень прикладного программирования, поскольку VBA позволяет создавать полноценные прикладные пакеты, которые по своим функциям выходят далеко за рамки обработки электронных таблиц.


Начиная с версии 5.0, в программу Excel включен специальный язык программирования, который получил название Visual Basic for Applications (VBA).


Введение достаточно мощного языка программирования в Excel делает эту программную платформу весьма привлекательной для профессионалов, которые занимаются разработкой специализированных прикладных систем.


Разработка языка программирования VBA, встраиваемого в прикладные системы, является одним из стратегических направлений компании Microsoft. Этот язык уже интегрирован в такие программы, как Word, PowerPoint, Access пакета Microsoft Office 97. VBA позволяет создавать программные модули, меню, диалоговые окна и другие ресурсы в среде Windows. Благодаря этому языку появляется возможность значительно расширить набор функций в Excel, а также создавать функции, значения которых зависят от некоторых условий и событий. В принципе, можно полностью перепрограммировать все функции программы Excel, если в этом появилась необходимость.


Целью контрольной работы на тему «Основы программирования на VBA: Модель объектов Exel» является разработка и реализация программы расчета заданной функции на языке программирования VBA, оформление пояснительной записки.


В разделе «Проектирование программного модуля» пункт «Математическое описание задачи» описана математическая модель, параметры и характеристики задачи, а также приведены критерии оценки эффективности созданного модуля.


В разделе «Проектирование программного модуля» пункт «Разработка схемы алгоритма и ее описание» приведена схема алгоритма с учетом возможностей языка VBA.


В разделе «Реализация программного модуля» пункт «Код программы» разрабатывается исходный код модуля с пользовательским интерфейсом.


В разделе «Реализация программного модуля» пункт «Описание использованных операторов» приводится перечень операторов, использованных в программе, с кратким описанием каждого оператора.


В разделе «Тестирование программного модуля» проводится описание запуска тестового примера.


Приложение «Текст программы» содержит распечатку процедур основного модуля программы.


Приложение «Тестовый пример» содержит экранную копию в момент тестирования программы.


1. Проектирование программного модуля


1.1 Математическое описание задачи


Целью данной контрольной работы является проектирование системы, оптимальным образом ориентированной на решение поставленной прикладной задачи. В результате анализа математической модели системы необходимо определить исходные данные для синтеза системы, которые включают в себя:


· Функцию системы, определенную номенклатурой прикладной задачи;


· Параметры и характеристики системы с областью их действия и ограничениями на них;


· Критерий эффективности функционирования системы, предлагаемой с целью проверки на оптимальность объекта проектирования.


Номенклатурой, в нашем случае это задание к контрольной работе, определяется следующая функция системы:


O_stoim = Potr / 100 * Zena * O_prob, (1.1)


где O_stoim – общая стоимость, руб;


Potr – потребление бензина на 100 км, л;


Zena – цена 1-го литра бензина, руб;


O_prob – общий пробег, км.


Параметры и характеристики системы представлены в таблице 1.1


Таблица 1.1 Параметры и характеристики системы

























































Имя


Тип


Ограничение


Роль в модуле


N_auto


String


2^16 символов


параметр


M_auto


String


2^16 символов


параметр


M_benz


String


2^16 символов


параметр


q


String


2^16 символов


характеристика


B


String


2^16 символов


характеристика


E


String


2^16 символов


характеристика


O_prob


single


-3,402823Е38.. 3,402823Е38


параметр


Potr


single


-3,402823Е38.. 3,402823Е38


параметр


Zena


single


-3,402823Е38.. 3,402823Е38


параметр


O_stoim


single


-3,402823Е38.. 3,402823Е38


параметр



Тип параметров и характеристик определяется исходя из требований математической функции и возможностей языка программирования. Например, характеристика q используется только в расчете, пользователь не должен ее изменять, в отличие от O_prob, Potr и др. Ограничение на переменные определяются исходя из требований функции к ним и возможностей языка (зависит от количества памяти, выделенной под данную переменную).


Критерии эффективности функционирования системы вырабатываются исходя из требований постановки задачи и современных требований пользователя к программе и ее интерфейсу.


· Правильность расчета;


· Возможность ввода исходных данных в любое время работы программы, кроме того момента, когда осуществляется расчет;


· Обязательное отображение результатов расчета на рабочем листе и на пользовательской форме;


· Использование удобного пользовательского интерфейса.


Это основные критерии оценки эффективности функционирования системы, которые позволят проверить работоспособность и оптимальность созданного продукта. Проверка описана ниже в пункте «Тестирование программного модуля»


1.2 Разработка схемы алгоритма и ее описание


Используя генератор пользовательских форм можно реализовать удобный интерфейс ввода и вывода данных. Это несложно сделать, используя объект VBA – TextBox. По условию задачи программа должна выводить результаты на рабочую страницу. Подпрограммы расчета будут запускаться по кнопке на пользовательской форме (объект CommandButton).


Итак, исходя из возможностей языка программирования, можно составить блок-схему, представленную на рисунке 1.1



Рисунок 1.1 Блок-схема алгоритма


1 - Ручной ввод пользователем исходных данных - N_auto, M_auto, M_benz, O_prob, Potr, Zena ; 2 – Машинная операция расчета результата по заданной формуле; 3 – Вывод результата на экран.


2. Реализация программного модуля


2.1 Код программы


Особенностью языка VBA является то, что программный модуль запускается по какому-либо событию, будь-то ввод с клавиатуры пользователем строки, нажатие на определенную кнопку клавиатуры, перемещение мыши, нажатие кнопки мыши и т.п. Разрабатываемый программный модуль будет срабатывать, когда пользователь нажимает определенную кнопку на пользовательском интерфейсе. По условию задачи результаты должны выводиться на рабочий лист, эта процедура будет запускаться по событию: CommandButton1_Click. Основой программы является пользовательская форма, на которой находятся объекты, необходимые для работы системы и «общения» с пользователем. Разработанная форма представлена на рисунке 1.2


Ввод исходных данных для пользователя осуществляется с помощью объектов VBA – TextBox. Шесть этих объектов позволяют ввести значения N_auto, M_auto, M_benz, O_prob, Potr, Zena.


Расчет результатов осуществляется с помощью объекта-кнопки CommandButton, описанного выше. Остальные объекты на форме – типа «label» и носят чисто информативный характер. Также используется процедура UserForm_Initialize, которая вызывается при инициализации формы и формирует заголовки в таблице. Программный код представлен в Приложении А.


Рисунок 1.2 Пользовательская форма



2.2 Описание использованных операторов


Объявление переменных:


Public N_auto, M_auto, M_benz, q, B, E As String


Public O_prob, Potr, Zena, O_stoim As Single


Каждая процедура в VBA начинается с оператора объявления процедуры и заканчивается оператором End Sub. В разрабатываемом программном модуле описано три процедуры:


Private Sub CommandButton1_Click()


Private Sub CommandButton2_Click()


Private Sub CommandButton3_Click()


Private Sub UserForm_Initialize()


Ключевое слово Private используется для того, чтобы сделать процедуру частной для модуля.


Основой всех вычислений в VBA является оператор, поэтому он наиболее часто встречается в программном коде, например:


ActiveSheet.Cells(i, 7) = CStr(O_stoim).


CStr () – строковая функция, которая преобразует число в строку;


MsgBox() – выдаёт окно сообщения;


CDbl() – преобразует строку в число.


3. Тестирование программного модуля


Для запуска программного модуля достаточно открыть документ «КР.xls» и Excel автоматически запустит программу. Это достигается с помощью события Workbook_Open с использованием методов:


Load UserForm1


UserForm1.Show


Пользователь должен ввести исходные данные и запустить расчёт, используя кнопку «Подсчитать». Результат отображается на рабочий лист. Тестовый пример приведен в Приложении Б.


Используя основные критерии оценки эффективности функционирования программного модуля, описанные в пункте «Математическое описание задачи» можно сделать вывод о работоспособности и оптимальности программного модуля.


Заключение


В контрольной работе на тему «Основы программирования на VBA: Модель объектов EXEL» был разработан и реализован программный модуль с пользовательской формой. Программный модуль обеспечивает ввод исходных данных, расчет заданной математической функции и вывод результатов на рабочий лист.


В процессе работы была разработана математическая модель задачи, схема алгоритма, код программы на языке VBA, пользовательский интерфейс и проведено тестирование программного модуля.


Список использованной литературы


1. Р. Петерсон. Microsoft Excel 97 в подлиннике: В 2т.: пер. с англ.-СПб.:BHV-Санкт-Петербург, 1997. Том 1 – 672 с., ил.


2. У.Орвис. Visual Basic for application.-М. Бином 1995.


Приложение А. Программный код


Public N_auto, M_auto, M_benz, q, B, E As String


Public O_prob, Potr, Zena, O_stoim As Single


'Процедура по нажатию кнопки "подсчитать"


Private Sub CommandButton1_Click()


N_auto = UserForm1.TextBox1


If N_auto = "" Then


B = MsgBox("Введите номер автомобиля", vbCritical, "")


'Фокусирование на поле ввода


UserForm1.TextBox1.SetFocus


GoTo s


End If


M_auto = UserForm1.TextBox2


If M_auto = "" Then


B = MsgBox("Введите марку автомобиля", vbCritical, "")


UserForm1.TextBox2.SetFocus


GoTo s


End If


M_benz = UserForm1.TextBox3


If M_benz = "" Then


B = MsgBox("Введите марку бензина", vbCritical, "")


UserForm1.TextBox3.SetFocus


GoTo s


End If


O_prob = UserForm1.TextBox4


If O_prob = "" Then


B = MsgBox("Введите общий пробег", vbCritical, "")


UserForm1.TextBox4.SetFocus


GoTo s


End If


O_prob = ""


'Сообщение об ошибке при вводе нечисловых данных


On Error Resume Next


O_prob = CDbl(UserForm1.TextBox4)


If O_prob = "" Then


B = MsgBox("Введите число!!!", vbCritical, "")


UserForm1.TextBox4.SetFocus


GoTo s


End If


Potr = UserForm1.TextBox4


If Potr = "" Then


B = MsgBox("Введите потребление л/100", vbCritical, "")


UserForm1.TextBox5.SetFocus


GoTo s


End If


Potr = ""


On Error Resume Next


Potr = CDbl(UserForm1.TextBox5)


If Potr = "" Then


B = MsgBox("Введите число!!!", vbCritical, "")


UserForm1.TextBox5.SetFocus


GoTo s


End If


Zena = UserForm1.TextBox6


If Potr = "" Then


B = MsgBox("Введите цену 1 л. бензина", vbCritical, "")


UserForm1.TextBox6.SetFocus


GoTo s


End If


Zena = ""


On Error Resume Next


Zena = CDbl(UserForm1.TextBox6)


If Potr = "" Then


B = MsgBox("Введите число!!!", vbCritical, "")


UserForm1.TextBox6.SetFocus


GoTo s


End If


'Расчёт общей стоимости


O_stoim = Potr / 100 * Zena * O_prob


'Поиск пустой строки


i = 3


While (ActiveSheet.Cells(i, 1) <> "")


E = ActiveSheet.Cells(i, 1)


i = i + 1


E = ""


Wend


'Заполнение ячеек таблицы данными


If E = "" Then


ActiveSheet.Cells(i, 1) = CStr(N_auto)


ActiveSheet.Cells(i, 2) = CStr(M_auto)


ActiveSheet.Cells(i, 3) = CStr(M_benz)


ActiveSheet.Cells(i, 4) = CStr(O_prob)


ActiveSheet.Cells(i, 5) = CStr(Potr)


ActiveSheet.Cells(i, 6) = CStr(Zena)


ActiveSheet.Cells(i, 7) = CStr(O_stoim)


End If


If N_auto = E Then


B = MsgBox("Такой номер автомобиля есть в базе данных", vbCritical, "")

p>

UserForm1.TextBox1.SetFocus


GoTo s


End If


B = MsgBox("Запись внесена", vbInformation, "")


For rwIndex = 3 To i - 1


For colIndex = 1 To 6


Next colIndex


Next rwIndex


'Сортировка по полю "Марка автомобиля"


Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Header:= _


xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _


DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _


xlSortNormal


'Заполнение формы пустыми значениями


UserForm1.TextBox1.Text = ""


UserForm1.TextBox2.Text = ""


UserForm1.TextBox3.Text = ""


UserForm1.TextBox4.Text = ""


UserForm1.TextBox5.Text = ""


UserForm1.TextBox6.Text = ""


UserForm1.TextBox1.SetFocus


s:


End Sub


'Процедура выхода


Private Sub CommandButton2_Click()


Unload Me


End Sub


'Информация о разработчике


Private Sub CommandButton3_Click()


Load UserForm2


UserForm1.Hide


UserForm2.Show


End Sub


'Процедура инициализации формы


Private Sub UserForm_Initialize()


UserForm1.Caption = "Главная форма"


UserForm1.TextBox1.Text = ""


UserForm1.TextBox2.Text = ""


UserForm1.TextBox3.Text = ""


UserForm1.TextBox4.Text = ""


UserForm1.TextBox5.Text = ""


UserForm1.TextBox6.Text = ""


UserForm1.TextBox1.SetFocus


'Выбор ячеек шапки


Range("A1:G1").Select


'объединение ячеек


With Selection.WrapText = False


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = True


Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


End With


ActiveCell.FormulaR1C1 = "Индивидуальное задание"


' установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Range("A2").Select


'центровка записи


ActiveCell.FormulaR1C1 = "Номер автомобиля"


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = True


Selection.HorizontalAlignment = xlCenter


End With


Columns("A:A").ColumnWidth = 15


Rows("2:2").EntireRow.AutoFit


Columns("A:A").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeLeft)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeRight)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


Range("B2").Select


ActiveCell.FormulaR1C1 = "Марка автомобиля"


'центровка записи


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = False


Selection.HorizontalAlignment = xlCenter


End With


Columns("B:B").ColumnWidth = 15


Rows("2:2").EntireRow.AutoFit


Columns("B:B").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


Range("C2").Select


ActiveCell.FormulaR1C1 = "Марка бензина"


'центровка записи


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = False


Selection.HorizontalAlignment = xlCenter


End With


Columns("C:C").ColumnWidth = 9


Rows("2:2").EntireRow.AutoFit


Columns("C:C").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeLeft)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeRight)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


Range("D2").Select


ActiveCell.FormulaR1C1 = "Общий пробег"


'центровка записи


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = False


Selection.HorizontalAlignment = xlCenter


End With


Columns("D:D").ColumnWidth = 7


Rows("2:2").EntireRow.AutoFit


Columns("D:D").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


Range("E2").Select


ActiveCell.FormulaR1C1 = "Потребление л/100"


'центровка записи


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = False


Selection.HorizontalAlignment = xlCenter


End With


Columns("E:E").ColumnWidth = 15


Rows("2:2").EntireRow.AutoFit


Columns("E:E").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeLeft)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeRight)


LineStyle = xlContinuous


Weight = xlThin


ColorIndex = xlAutomatic


End With


Range("F2").Select


ActiveCell.FormulaR1C1 = "Цена 1 л бензина"


'центровка записи


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = False


Selection.HorizontalAlignment = xlCenter


End With


Columns("F:F").ColumnWidth = 15


Rows("2:2").EntireRow.AutoFit


Columns("F:F").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


Range("G2").Select


ActiveCell.FormulaR1C1 = "Общая стоимость"


'центровка записи


With Selection.HorizontalAlignment = xlCenter


Selection.VerticalAlignment = xlCenter


Selection.WrapText = True


Selection.Orientation = 0


Selection.AddIndent = True


Selection.IndentLevel = 0


Selection.ShrinkToFit = True


Selection.ReadingOrder = xlContext


Selection.MergeCells = False


Selection.HorizontalAlignment = xlCenter


End With


Columns("G:G").ColumnWidth = 15


Rows("2:2").EntireRow.AutoFit


Columns("G:G").EntireColumn.AutoFit


'установка шрифта


With Selection.Font.Name = "Times New Roman"


Selection.Font.Size = 10


Selection.Font.Strikethrough = False


Selection.Font.Superscript = False


Selection.Font.Subscript = False


Selection.Font.OutlineFont = False


Selection.Font.Shadow = False


Selection.Font.Underline = xlUnderlineStyleNone


Selection.Font.ColorIndex = xlAutomatic


Selection.Font.Bold = True


End With


Selection.Borders(xlDiagonalDown).LineStyle = xlNone


Selection.Borders(xlDiagonalUp).LineStyle = xlNone


With Selection.Borders(xlEdgeLeft)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeTop)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeBottom)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


With Selection.Borders(xlEdgeRight)


.LineStyle = xlContinuous


.Weight = xlThin


.ColorIndex = xlAutomatic


End With


End Sub


Приложение Б. Экранная копия тестового примера



Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Основы программирования на VBA модель объектов Exel

Слов:2929
Символов:34599
Размер:67.58 Кб.