Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Создание файла. 1.1.Загрузите программу MSExcel




1.1. Загрузите программу MSExcel.

1.2. Сохраните файл Автоформатир. xls.

1.3. Заполните столбец А на 10 строк значениями: числами положительными, отрицательными и нулевыми.

1.4. Вызовите Visual Basic for Application (ALT+F11).

 

2. Стандартная процедура If…Then…Else…EndIf

С помощью этой процедуры напиать макрос Краска(), который окрашивает положительные числа в синий цвет, отрицательные – зеленым, а нуль – красным.

1.5. Начните создание макроса стандартной процедурой Sub.

1.6. Для создания универсальной программы, т.е. щелчок по кнопке будет форматировать каждую последующую ячейку, нужно использовать переменные в адресе, что позволяет сделать объект Cells. Условимся, что номер строки – это Y, а значение ячейки это переменная Х. Опишите в программ до процедуры Краска () эти переменные (см. лаб.раб.2).

Dim Y As Byte

Dim X As Integer

2.1. Посмотрите объяснение работы стандартной процедуры If…Then…Else…EndIf. А теперь запишите код форматирования содержимого ячеек. Сделайте пояснения к обрамлению фрагментов.

1.7. Проверьте работу программы. Для чего поместите кнопку на таблицу, назначьте ей макрос Краска (). Щелкните ее несколько раз.

1.8. Результат окажется нулевым, т.к. адрес строки машина воспринимает по переменной Y, которая никак своего значения, помимо объявления, не изменяет – это значит =0. Добавьте до оператора If строку Y=Y+1. Объясните: почему до If, а не после. Теперь при каждом щелчке номер строки будет вырастать на 1. Проверьте работу кнопки, щелкнув только четыре раза.

2.2. Результат окажется неверным (все окрасилось красным при любых значениях), т.к. для программы значение Х тоже нулевое. Поэтому до If добавьте строку X=Cells(Y, 1) – теперь ясно и программе, и Вам. Проверьте работу, щелкнув еще 6 раз.

Примечание:f Перменные, объявленные вне процедуры, т.е. в объекте Declfrations, сохраняют значение после окончания выполнения процедуры. Переменные, объявленные внутри процедуры Sub...End Sub или вовсе не объявленные, при каждом запуске программы обнуляются.

2.3. Форматирование, начиная с 5 -го элемента прошло совершенно верно, но первые четыре так и остались красными. Причина – программа запомнила значение Y. Этому способствовала строка Dim Y As Byte, объявленная до начала процедуры Sub. Для разъяснения, проведите эксперимент: перенесите эту строку внутрь процедуры:

2.4. Проверьте работу кнопки Формат. Первая ячейка изменила форматирование, но остальные остались прежние. Теперь при запуске процедуры переменная Y каждый раз заново объявляется и равна 0 в начальный момент. Это пригодится в другом случае. Теперь же верните строку на прежнее место.

2.5. Чтобы прослеживать в какой строке происходит форматирование, добавьте до End Sub еще строку: Range("B1")=Y. Проверьте работу кнопки 10 раз.

2.6. Измените содержимое ячеек в таблице, заменив их другими числами.

2.7. Щелкните кнопку Формат. В ячейке В1 значение номера строки только вырастает.

2.8. Нужно обнулить значения, т.е. объявить Y=0, а текст окрасить в черный цвет. Для чего создайте дополнительно процедуру Возврат (), текст которой предложен в рамке.

2.9. Проверьте работу обеих кнопок.

2.10. Сохраните изменения в MS Excel.

 

3. Стандартная процедура Select … Case…End Select.

С помощью этой процедуры дополнить макрос Краска(), в котором, чем больше число, тем больше значение размера шрифта.

II. Оператор Select … Case…End Select Организация множественного выбора в Visual Basic 1. Формат записи: Select Case переменная Case значение 1
Значение переменной
Действие 1

[[…

Case значение N

Действие N]

[Case Else

Действие ]]

End Select

Примеч.: 1)Значение переменной в процедуре должно указываться сверху вниз, т.е. условия проверяются сначала.

2) Если в области значение находится условие, то необходимо использовать ключевое словосочетание Case Is условие

 

3.1. Переключитесь в VBA.

3.2. Продолжите в текущем модуле создание новой процедуры Шрифт ().

3.3. Наберите содержимое процедуры:

 

Sub Шрифт()

Y = Y + 1

X = Cells(Y, 1)

Select Case X

Case Is < -20

Cells(Y, 1).Font.Size = 10

Case Is < 0

Cells(Y, 1).Font.Size = 12

Case 0 To 20

Cells(Y, 1).Font.Size = 14

Case Is > 20

Cells(Y, 1).Font.Size = 16

End Select

Range("B1") = Y

End Sub

3.4. Переключитесь в таблицу. Сохраните изменения в MS Excel.

3.5. Разместите в таблице еще одну кнопку Величины, которой назначьте макрос Шрифт (). Проверьте ее работу (не забудьте предварительно обнулить данные соответствующей кнопкой).

3.6. Выделите столбец, измените размер шрифта на 8.

3.7. Чтобы лучше понять пункт 1 примечания, измените строку Case 0 To 20 на другую: Case Is >0. Сравните эти записи.

3.8. Проверьте работу кнопки. Оказалось, что следующая строка, увеличивающая размер до 16 не работает (значения от 20 и выше). Причина – условие раньше является правильным и для последующей строки.

3.9. Поменяйте местами эти два блока:

3.10. Проверьте работу кнопки.




Поделиться с друзьями:


Дата добавления: 2014-12-24; Просмотров: 526; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.