Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
01 УчПособ_Excel(ПЗ1_9).doc
Скачиваний:
40
Добавлен:
19.02.2016
Размер:
1.13 Mб
Скачать

Приложение – исходные данные для расчетов

Журнал регистрации хозяйственных операций

Дата

Счет (содержание операции)

Номер Счета

Расход

Приход

10.01.09

Расчеты с поставщ. и подрядчиками

60

3100

 

11.01.09

Расчетные счета

51

7800

 

12.01.09

Расчетные счета

51

 

50000

17.01.09

Расходы будущих периодов

97

 

2000

18.01.09

Расчеты с подотчетными лицами

71

600

 

19.01.09

Расчеты с поставщ. и подрядчиками

60

3600

 

21.01.09

Материалы

10

3000

 

25.01.09

Касса

50

5000

 

27.01.09

Материалы

10

2500

 

01.02.09

Материалы

10

2000

 

04.02.09

Материалы

10

3500

 

04.02.09

НДС

19

4000

 

04.02.09

Материалы

10

20000

 

07.02.09

Расчеты с поставщ. и подрядчиками

60

2300

 

10.02.09

Расчеты с поставщ. и подрядчиками

60

4800

 

11.02.09

Расчеты с подотчетными лицами

71

400

 

17.02.09

Материалы (полуфабрикаты)

10

 

7000

20.02.09

Касса (получено)

50

 

4000

21.02.09

Налог

68

1600

 

22.02.09

Налог

68

3400

 

01.03.09

Материалы

10

1200

 

03.03.09

Расчетные счета

51

 

10000

11.03.09

Касса (расчет)

50

4200

 

15.03.09

Расчеты с поставщ. и подрядчиками

60

3300

 

17.03.09

Расчетные счета

51

 

5000

20.03.09

Касса (расчет)

50

1700

 

26.03.09

Расчет по зарплате Соловьева М.М.

50

4500

 

29.03.09

Возврат ссуды от Климова А.Р.

50

 

12000

02.04.09

Материалы (полуфабрикаты)

10

 

9000

07.04.09

Расчеты с поставщ. и подрядчиками

60

3700

 

14.04.09

Материалы

10

1200

 

15.04.09

Расчеты с поставщ. и подрядчиками

60

2800

 

22.04.09

Получена задолженность

50

 

5900

27.04.09

Касса (расчет)

50

1700

 

28.04.09

Расчеты с подотчетными лицами

71

400

 

29.04.09

Расчетные счета

51

 

5000

05.05.09

Расчеты с поставщ. и подрядчиками

60

 

13800

12.05.09

Материалы

10

3500

 

13.05.09

Налог

68

3400

 

18.05.09

Налог

68

1600

 

19.05.09

Получена задолженность

50

 

9000

21.05.09

Расчеты с подотчетными лицами

71

600

 

26.05.09

Касса (расчет)

50

3700

 

27.05.09

Расчеты с поставщ. и подрядчиками

60

2200

 

28.05.09

Материалы

10

5400

 

ПЗ-9. Использование макросов и модулей VBA.

Создадим новый лист Модули. Напишем макрос для заполнения столбца F листа геометрической прогрессией. Вызы­ваем меню Сервис-Макрос-Начать запись, в окне Запись макроса задаем имя ГеомПрогр, нажимаем ОК и дальше выполняем действия для построения прогрессии: в ячейку F1 вводим число 2, нажимаем зеленую галочку, вызываем меню Правка-Заполнить-Прогрессия, в окне Прогрессия выбираем пункты: по столбцам, геометрическая, шаг 2, предельное значе­ние 100000, кнопка ОК, прекращаем запись макроса.

Наносим кнопку из панели Формы на лист и назначаем ей макрос ГеомПрогр, на кнопке задаем название: "Постро­ить геометрическую прогрессию".

Сразу же напишем макрос очистки столбца F: вызовем окно записи, присвоим имя Очистка, нажмем ОК и выделим диапазон F1:F20, нажмем кнопку Delete, щелкнем по ячейке G4, прекратим запись макроса. Нанесем новую кнопку рядом с кнопкой построения прогрессии, присвоим ей макрос Очистка, изменим надпись кнопки: "Очистить столбец F". Пощелкаем созданными кнопками.

Нажмем сочетание клавиш Alt+F8 (вызов окна Макросы), выберем макрос Очистка, нажмем кнопку Войти. Появится окно с модулем VBA, где активной будет запись про­граммы Очистка (Sub Очистка()). В этой программе перечислены операторы, которые мы за­давали при записи макроса своими действиями.

Sub Очистка()

' Очистка Макрос ' Макрос записан ...

Range("F1:F20").Select

Selection.Clear

Range("G4").Select

End Sub

Можно, при необходимости, изменить действия макроса (программы) прямо в данном модуле.

Нанесем на лист еще одну кнопку и присвоим ей макрос Возврат. Находясь натитуль­ном листе, напишем макросОткрМодулидля открытия листаМодулии присвоим его кнопке открытия.

Теперь на листе Модулисделаем так, чтобы при нажатииспециальной кнопкина лист помещалась новая кнопка, на ней появлялась надпись "новая кнопка", а в ячейке А3 производился подсчет количества созданных новых кнопок. Для подсчета новых кнопок объявим переменнуюn%(объявление в качестве целого числа) в области объявления переменных, там же поместим декларацию "Option Explicit", которая будет инициировать проверку описания встречаемых в программе переменных. В программу макроса открытия листаМодулидобавим операторы присвоения нуля переменнойnи записи этого значения в ячейку А3.

Option Explicit

Dim n%

Sub ОткрМодули()

' Функция Макрос' Макрос записан ...

n = 0

ActiveWindow.ScrollWorkbookTabs Position:=xlLast

Sheets("Модули ").Select

Range("A3").Select

ActiveCell.FormulaR1C1 = n ' Запись 0 в ячейку А3

End Sub

Запишем макрос (КнопкаAdd - его программа приведена ниже), выполнив все действия по добавлению новой кнопки и изменению надписи на ней. Присвоим этот макрос кнопке с названием "Добавить новую кнопку!". Щелчки по ней будут добавлять на лист новую кнопку. Однако необходимо вести подсчет новых (добавленных) кнопок. Для этого в программе макроса КнопкаAdd необходимо значение переменной n увеличивать на единицу при каждой новой добавленной кнопке. Поэтому в программе макроса КнопкаAdd необходимо добавить операторы (ниже в распечатке программы они находятся в конце и выделены полужирным курсивом).

Sub КнопкаAdd()

' КнопкаAdd Макрос

' Макрос записан ....

ActiveSheet.Buttons.Add(399.75, 110.25, 127.5, 29.25).Select

Selection.Characters.Text = "новая кнопка"

With Selection.Characters(Start:=1, Length:=12).Font

.Name = "Arial Cyr"

.FontStyle = "обычный"

.Size = 12 …

.ColorIndex = xlAutomatic

End With

n = n + 1

Range("A3").Select

ActiveCell.FormulaR1C1 = n

End Sub

Обнуление переменной n будет производиться при открытии листа Модули (распечатка программы ОткрМодули приведена выше).

Щелкая по кнопке "Добавить новую кнопку!" будем на листе добавлять кнопки с надписью "новая кнопка" одну над другой – если не вести учет в ячейке А3, то не будем знать, сколько всего добавлено кнопок.

Лист с кнопками и фрагментами программ модулей.

Создать кнопку "Закрыть Книгу" на титульном листе и написать для нее макрос. В тексте этого макроса поместить дополнительные операторы (написаны ниже, полужирный шрифт):

22

b = MsgBox("закрыть книгу? если ДА, то закроем...", vbYesNo, "Не надо, пожалуйста!")

If b = 7 Then ‘значение 7 означает выбор NO в окне диалога

MsgBox ("Все-равно не сможете работать дальше!!!")

GoTo 22

End If

MsgBox ("Ладно, закрывайте ... Что делать???")

ActiveWindow.Close

Если вместо последнего (подчёркнутого) оператора поставить GoTo 22, то закрытие книги станетневозможным.

Для справки: после ПЗ №9 в книге должны быть листы:

Данные, График, 13пт, Титул, ТабУмн, Вклады, СанДень, Синус, ТаблФормулы, Текст, ДатаПропись, Список, Модули, листы контрольных работ и других расчетов.

Кроме того, отдельно д.б. книга ЖурналОпераций.