Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка 4 м курс.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
602.62 Кб
Скачать

Анализ динамики показателей за длительный период

Для извлечения максимально полезной информа­ции из отчетов компании их необходимо сравнить. Их можно сравнивать с отчетами других компаний, сред­ними отраслевыми показателями или даже более об­ширными экономическими данными. Однако прежде всего можно сравнить годовую деятельность одной ком­пании с ее же результатами за прошлые годы. Это практикуется путем сохранения старых годовых отчетов. В настоящее время ежегодно многие ком­пании в свой годовой отчет включают краткий отчет о деятельности за десятилетний период, что представля­ет интерес для потенциальных инвесторов. Поэтому компания Русское Золото, являясь стабильной компа­нией, включает в свой годовой отчет и отчет о десяти­летнем периоде деятельности. Последнее не является объектом проверки для ревизоров, а делается для Вас.

Наиболее интересными моментами, которые Вы мо­жете увидеть из сводки о десятилетней деятель­ности компании, являются следующие:

  1. тенденция и стабильность в колебании объема ре­ализованной продукции;

  2. тенденция движения доходов, в частности, касаю­щихся объема продаж и экономического положения;

  3. тенденция движения чистого дохода как процента от объема продаж;

  4. тенденция изменения прибыли на акционерный капитал;

  5. чистый доход в расчете на обыкновенную акцию; дивиденды и политика по их выплате.

Другие данные, которые публикуются многими компаниями в отчете за десятилетний период, могут включать изменения по следующим статьям:

  1. собствен­ный капитал предприятия (стоимость имущества за вы­четом обязательств);

  2. чистая номинальная стоимость активов в расчете на акцию,

  3. увеличение капитала на расширение зданий, сооружений и машин;

  4. долгосрочные обязательства;

  5. акционерный капитал в результате изменения размера дивидендов по акциям и разбивки акций;

  6. данные о количестве служащих, торговых то­чек, акционеров;

  7. ссылка на источник информации о зарубежных дочерних предприятиях компании и о сте­пени отражения зарубежных операций в финансовом отчете.

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

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

Приложение

Вы приступаете к работе с Microsoft Visual Basic for Application. Многое из того, с чем вам придётся работать (меню, панели инструментов, диалоговые окна), покажутся знакомыми, т. к. они характерны для среды Windows. Многие команды главного меню вам знакомы, поскольку главное меню VBA организовано и работает так же, как и в других приложениях Microsoft, например, в текстовом редакторе Microsoft Word или в электронной таблице Microsoft Excel, с которой мы и будем работать. Так как вы уже умеете работать с электронной таблицей Excel, мы перейдём сразу к VBA.

Для того чтобы мы смогли подвесить экранные формы на кнопки панели, мы должны её создать.

Для этого перейдите в VBA зайдите в окно проекта, в разделе дерева проекта «Модули» –создайте модуль ModuleMenu”, в этом модуле создайте процедуру в которой напишите следующий код:

Public PANEL As Object

Public MyButton(15) As CommandBarButton

Public Hq(15) As String

***********************************************

Public Sub PanelUser()

'ThisWorkbook.Worksheets(1).Activate

Call kT

'Убрать ПАНЕЛЬ, если она не закрыта

On Error Resume Next

Application.CommandBars("PANEL").Delete

On Error GoTo 0

'Создать панель

Set PANEL = Application.CommandBars.Add(Name:="PANEL", _

Position:=msoBarTop, _

MenuBar:=False, Temporary:=True)

'Cоздать кнопки

With PANEL

.Visible = True

'.Protection = msoBarNoMove + msoBarNoChangeVisible + msoBarNoCustomize

With .Controls

***********************************************

Для того чтобы панель не исчезала каждый раз после открытия Excel, вам нужно зайти в окно проекта, войти в папку “Microsoft Excel Объекты” найти в ней папку “Эта книга” и активизировав её написать следующий код:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Application.CommandBars("PANEL").Delete

End Sub

************************************

Private Sub Workbook_Open()

Call PanelUser

End Sub

Любая форма в VBA состоит из объектов, называемых элементами управления, с помощью которых осуществляется взаимодействие с пользователями приложения, а также с другими программами. Все элементы управления имеют характерные для них свойства. Для любого объекта вы можете указать действия, выполняемые программой при наступлении определённых событий. Процесс создания формы в конструкторе форм состоит в размещении в форме объектов и определении свойств, а также связанных с ними событий и выполняемых действий. Для размещения в форме объектов используется панель элементов управления.

Все объекты VBA, размещённые в форме (заголовок, надписи, кнопки и т.д.), а также сама форма характеризуются свойствами, которые вы можете настроить в соответствии со своими требованиями. Для просмотра и редактирования свойств объекта, размещённого в форме, выделите его, в результате откроется окно Properties со свойствами выделенного объекта.

Для изменения какого-либо свойства объекта необходимо открыть окно Properties и перейти на строку, содержащую данное свойство. Значение свойства отобразится в столбце, расположенном правее наименования свойства.

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

Процесс создания формы можно разделить на три этапа: создание формы, размещение в форме объектов, текста, полей, кнопок управления, процедуры написания программного кода. Форма, как и все расположенные в ней объекты, имеет свойства, используя которые можно задать её размер, заголовок, цвет и т.д. Помимо этого, форма характеризуется событиями и методами.

Для того чтобы создать форму выполните следующие действия: в окне проекта VBA щелкните правой кнопкой мыши на папке «Формы», появится ниспадающее меню в котором выберете «вставить» и вставьте UserForm. Для задания текста заголовка, расположенного в верхней части формы, предназначено свойство Caption(Надпись) окна свойств. Чтобы отредактировать заголовок, откройте окно Properties, выделите свойство Caption и введите в правом столбце свойства заголовок формы – «Баланс».

Форма, как и входящие в них объекты, могут выполнять методы и отвечать на возникающие события. Приведём основные события, которые чаще всего используются для форм. В процессе программирования вы познакомитесь с ними более подробно:

Таблица 34.

Cобытие

Возникает

Activate(Активизировать)

Когда форма становится активной, т.е. отображается на экране

Deactivate(Активизировать)

Когда форма становится не активной. Например, при активизации на экране другой формы

Initialize(Инициализация)

При создании объекта типа форма

Load(Загрузка)

В момент загрузки формы в память

Resize(Изменить размер)

При изменении размера форма

Terminate(Завершение)

В момент удаления форма

Click(Щелчёк)

Происходит при щелчке кнопки мыши

KeyUp

Происходит при нажатии клавиши на клавиатуре

MouseUp

Происходит при нажатии кнопки мыши

DblClick(Двойной щелчок)

Двойной щелчок кнопки мыши

Unload(Выгрузка)

В момент выгрузки формы из памяти

Рассмотрим набор основных свойств, доступ к этим свойствам можно получить при помощи окна Properties (Свойства).

Свойство

Назначение

Name

Задаёт имя объекта

Text

Устанавливает текст в поле по умолчанию

Visible

Устанавливает видимость объекта

BorderStyle

Определяет тип обрамления, а также управляет изменениями размеров формы. Дополнительно определяет наличие кнопок в строке заголовка окна.

Сaption

Задаёт текст, выводимый в заголовке формы

Palette

Устанавливает цветовую палитру

Picture

Назначает значок, картинку для объекта. Используя данное свойство формы, можно задать фоновое графическое изображение.

Еnebled

Разрешает или запрещает доступ к объекту

Font

Задаёт шрифт текста объекта, размер, начертание

Left

Задаёт расстояние от формы до левого края экрана

Top

Задаёт положение объекта по вертикальной оси от его верхнего края до верхней стороны формы

Width

Задаёт горизонтальный размер (ширину) объекта

Height

Задаёт высоту формы. При конструировании автоматически модифицируется при изменении размеров при помощи мыши

ForeColor

Задаёт цвет выводимого на экран текста. Рекомендуется использовать стандартные цвета как фона, так и текста.

ScrollLeft

Задаёт максимальное положение объекта по горизонтальной оси

ScrollTop

Задаёт максимальное положение объекта по вертикальной оси

ScrollWidth

Задаёт максимальный горизонтальный размер (максимальная ширина)

ScrollHeight

Задаёт максимальный вертикальный размер (максимальная высота)

BackColor

Определяет цвет фона формы. Выбирается из предлагаемой палитры.

МouseIcon

Задаёт значок для формы.

Многие из рассмотренных выше свойств формы также являются общими и для других объектов формы с добавлением лишь индивидуальных свойств выбранных объектов.

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

Текстовая информация. Размещение в форме текста (заголовка, надписей к полям, поясняющей информации) осуществляется с помощью кнопки Label(Надпись), находящейся на панели элементов управления формой. Текст метки задаётся свойством Label. Выделите данное свойство, после чего в правый столбец свойства введите нужную информацию. Так как мы уже разобрали свойства и события, которые часто встречаются при программировании и VBA, мы не будем повторяться, а будем лишь добавлять только те свойства и события, которые присущие лишь данному индивидуальному выбранному объекту.

Таблица 35.

Свойства

Назначение

СontrolTipText

Задаёт текст подсказки при подведении к надписи курсора

Текстовое поле. Для отображения информации и ввода в форме предназначен объект типа поле, для создания которого используется кнопка TextBox (Текстовое поле) на панели элементов управления. Информация, вводимая в текстовом поле, определяется свойством Text и может задаваться в процессе выполнения программного кода (путём считывания данных, размещённых на листе Excel или может непосредственно вводиться в форму с последующей переброской их в лист Excel.

Разместите в форме надписи и текстовые поля также как на форме «Баланс». Создайте лист Excel cо всеми необходимыми данными. В окне свойств задайте имя формы - frmBalance.

В ModuleMenu введите код создания кнопки и задайте ей все необходимые параметры:

'Баланс - активы и Пасиивы фирмы, акционерный капитал

Set MyButton(1) = .Add(Type:=msoControlButton, Temporary:=True) (создание кнопки№1)

With MyButton(1)

.Caption = "Баланс" (название кнопки на панели)

.FaceId = 395 '226 (картинка перед названием кнопки)

.TooltipText = Hq(1) (подсказывающая надпись)

.Style = msoButtonCaption + msoButtonIcon

.OnAction = "PrBalance" (название модуля)

End With (окончание процедуры)

**********************************************

Введите код привязки формы к кнопке (подвесьте её на кнопку).

Public Sub PrBalance()

ThisWorkbook.Worksheets("Л1").Activate

MsgBox "Баланс фирмы"

frmBalance.Show

End Sub

**********************************************

Переключатель. Объекты типа OptionBatton называются переключателями. Так как, располагаемые в группах, они позволяют выбрать одно из нескольких значений. Установка одного переключателя в группе (присвоение его свойству Value значения True) автоматически сбрасывает другие переключатели, присваивая аналогичным свойствам значения False.

При размещении в форме нескольких групп переключателей каждая логическая группа должна помещаться в объект-контейнер, например, Frame . В этом случае, для создания в форме группы переключателей необходимо сначала поместить в форму рамку, а затем разместить в ней необходимое количество переключателей, используя для этого кнопку OptionButton на панели элементов управления.

Для того чтобы переключатели работали в окне свойств OptionButton задайте в строке (Name) «Нач» – для данных текущего года и «Кон» для данных прошлого года.

Кнопка. Важную роль в форме имеет объект, называемый элементом управления Command Button(Кнопка). Нажатие кнопки, размещённой в форме, позволяет выполнить процедуру обработки события Click.

Для размещения в форме элемента управления Command Button используется кнопка Command Button на панели элементов управления. Надпись, размещаемая на кнопке, задаётся свойством Caption и может содержать не более 255 символов. Если длина надписи больше ширины кнопки, автоматически осуществляется перенос надписи на следующую строку. В случае если размер кнопки не позволяет поместить всю надпись, не поместившаяся часть надписи отбрасывается.

Кнопки, размещённые в форме, используются для выполнения определённой процедуры, связанной с обработкой события Click. Это проведение определённых вычислений. После того как кнопка размещена в форме и задано её название, необходимо определить действия, выполняемые при нажатии на эту кнопку. Для этого дважды щёлкните на кнопке и в открывшемся окне редактора кода задайте необходимую процедуру.

Например кнопка - «С листа в форму» при её нажатии перебрасывает данные с листа Excel в текстовые окна формы. Вот код этой процедуры:

Private Sub CommandButton11_Click()

If Нач.Value = True Then (переключатель установлен на текущем году)

TextBox1.Text = Cells(4, 2).Value (текстовое поле 1 = ячейке Excel(4-№ строки, 2-№ столбца)

TextBox2.Text = Cells(5, 2).Value

TextBox3.Text = Cells(6, 2).Value

TextBox4.Text = Cells(7, 2).Value

End If

If Кон.Value = True Then (переключатель установлен на данных прошлого года)

TextBox1.Text = Cells(4, 3).Value

TextBox2.Text = Cells(5, 3).Value

TextBox3.Text = Cells(6, 3).Value

TextBox4.Text = Cells(7, 3).Value

End If

End Sub

******************************************************

Например кнопка - «Из формы на лист» при её нажатии перебрасывает данные введённые в форме на лист Excel. Вот код этой процедуры:

Private Sub CommandButton12_Click()

If Нач.Value = True Then

Cells(4, 2).Value = TextBox1.Text

Сells(5, 2).Value = TextBox2.Text

Cells(6, 2).Value = TextBox3.Text

Cells(7, 2).Value = TextBox4.Text

End If

If Кон.Value = True Then

Cells(4, 3).Value = TextBox1.Text

Cells(5, 3).Value = TextBox2.Text

Cells(6, 3).Value = TextBox3.Text

Cells(7, 3).Value = TextBox4.Text

End If

End Sub

******************************************

Чтобы при нажатии на кнопку экранная форма закрывалась необходимо задать ей следующий программный код:

Private Sub CommandButton1_Click()

Unload Me (Выгрузка)

End Sub

_____________________________________________________________________________________

Программный код ModuleMenu будет выглядеть следующем образом:

Public PANEL As Object

Public MyButton(15) As CommandBarButton

Public Hq(15) As String

***********************************

Public Sub PanelUser()

'ThisWorkbook.Worksheets(1).Activate

Call kT

'Убрать ПАНЕЛЬ, если она не закрыта

On Error Resume Next

Application.CommandBars("PANEL").Delete

On Error GoTo 0

'Создать панель

Set PANEL = Application.CommandBars.Add(Name:="PANEL", _

Position:=msoBarTop, _

MenuBar:=False, Temporary:=True)

'Cоздать кнопки

With PANEL

.Visible = True

'.Protection = msoBarNoMove + msoBarNoChangeVisible + msoBarNoCustomize

With .Controls

*************************************

Создание кнопок на панели Excel:

************************************* 1 кнопка

'Информация о директоре фирмы

Set MyButton(0) = .Add(Type:=msoControlButton, Temporary:=True)

With MyButton(0)

.Caption = "Meneger" - название кнопки

.FaceId = 607 - картинка на кнопке

.TooltipText = Hq(0) - номер подсказки

.Style = msoButtonCaption + msoButtonIcon

.OnAction = "PrMeneger" - название программы

End With

'****************************************************************

'Баланс - активы и Пасиивы фирмы, акционерный капитал 2 кнопка

Set MyButton(1) = .Add(Type:=msoControlButton, Temporary:=True)

With MyButton(1)

.Caption = "Баланс"

.FaceId = 395 '226

.TooltipText = Hq(1)

.Style = msoButtonCaption + msoButtonIcon

.OnAction = "PrBalance"

End With

'****************************************************************

Создание информационного окна (описания), появляется при наензде курсором на кнопку, информация записывается построчно между “ ---“.

**********************************************

Public Sub kT()

'Public Hq(0) As String

'Тексты подсказок (появляются при наводке курсора на кнопку панели Excel):

Hq(0) = "Информация о директоре фирмы, его фотография, досье" + Chr(10) + Chr(13)

Hq(0) = Hq(0) + "" + Chr(10) + Chr(13)

Hq(0) = Hq(0) + "" + Chr(10) + Chr(13)

Hq(0) = Hq(0) + " " + Chr(10) + Chr(13)

Hq(0) = Hq(0) + " " + Chr(10) + Chr(13)

Hq(0) = Hq(0) + " " + Chr(10) + Chr(13)

Hq(0) = Hq(0) + " " + Chr(10) + Chr(13)

Hq(0) = Hq(0) + " "

'**********************************************

Hq(1) = "Баланс предприятия" + Chr(10) + Chr(13)

Hq(1) = Hq(1) + "Активы, пассивы, акционерный капитал" + Chr(10) + Chr(13)

Hq(1) = Hq(1) + " " + Chr(10) + Chr(13)

Hq(1) = Hq(1) + "" + Chr(10) + Chr(13)

Hq(1) = Hq(1) + "" + Chr(10) + Chr(13)

Hq(1) = Hq(1) + " " + Chr(10) + Chr(13)

Hq(1) = Hq(1) + "" + Chr(10) + Chr(13)

Hq(1) = Hq(1) + "" + Chr(10) + Chr(13)

Hq(1) = Hq(1) + ""

'******************************

Привязка форм к кнопкам:

Public Sub PrMeneger() Программа PrMeneger()

ThisWorkbook.Worksheets("Л1").Activate Рабочая книга Excel. Лист №1.

MsgBox "Информация о директоре фирмы" Меню

frmMeneger.Show Показать экранную форму frmMeneger

End Sub

*****************************************

Public Sub PrBalance()

ThisWorkbook.Worksheets("Л2").Activate

MsgBox "Баланс фирмы"

frmBalance.Show Остальные привязки к другим кнопкам,

End Sub делаете методом копирования.

50