Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4928.pdf
Скачиваний:
11
Добавлен:
13.11.2022
Размер:
831 Кб
Скачать

12

Программирование вычислительных задач на языке VBA

Линейная структура

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

Денежные средства, расчеты и прочие активы предприятия:

D R S ,

( 1 )

где R – расчёты с дебиторами,

S – денежные средства.

Коэффициент срочной ликвидности:

 

S

(R

 

R F

)

 

 

K S

100

,

( 2 )

 

 

 

 

 

 

T

DK

 

 

 

 

 

 

FP

 

 

где F – резерв по сомнительным долгам,

 

 

 

 

 

 

T – общая сумма расчётов и прочих пассивов,

 

DK – долгосрочные кредиты,

 

 

 

 

 

 

 

 

 

FP – фонды потребления.

 

 

 

 

 

 

 

 

 

Коэффициент текущей ликвидности:

 

 

 

 

 

 

KT

 

 

Z

D

,

( 3 )

 

 

 

 

 

 

 

 

T

DK

 

FP

 

 

 

 

 

где Z – запасы и затраты.

Математическая постановка задачи предполагает реализацию алгоритма линейной структуры – все действия выполняются однократно и последовательно друг за другом.

Используем для построения блок-схемы и в качестве имён переменных в программном коде создаваемой процедуры обозначения экономических характеристик, указанные в формулах (1 ) – ( 3 ).

13

Блок-схему решаемой задачи представим в виде:

Начало

Ввод R, S

D = R + S

Вывод D

Ввод F, T, DK, FP

 

 

 

 

S

(R

 

R F

)

 

 

K S

100

 

 

 

 

 

 

 

 

 

 

T

DK

 

FP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод K S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод Z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

KT

 

 

 

Z

D

 

 

 

 

 

 

 

 

 

 

 

T

DK

 

FP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод KT

Конец

Рисунок 6 – Блок-схема задачи линейной структуры

Создадим процедуру для выполнения расчётов. Ввод исходных данных и вывод полученных результатов организуем с помощью диалоговых окон [ 3 ].

Программный код процедуры будет иметь следующий вид (комментарии, указанные после символов апострофа, не являются обязательными и используются только для пояснения выполняемых действий):

Public Sub Показатели_предприятия() 'Объявление типов переменных

Dim R As Single, S As Single, D As Single

Dim F As Single, T As Single, DK As Single

Dim FP As Single, KS As Single, Z As Single, KT As Single

14

'Ввод исходных данных

R = InputBox("Введите расчёты с дебиторами") S = InputBox("Введите денежные средства")

'Вычисление денежных средств, расчётов и прочих активов

D = R + S

'Вывод полученного результата

MsgBox ("Денежные средства, расчёты и прочие активы " & _ "для предприятия равны " & D)

'Ввод исходных данных

F = InputBox("Введите резерв по сомнительным долгам")

T = InputBox("Введите общую сумму расчётов и прочих пассивов") DK = InputBox("Введите долгосрочные кредиты")

FP = InputBox("Введите фонды потребления") 'Вычисление коэффициента срочной ликвидности

KS = (S + (R - R * F / 100)) / (T - DK - FP)

'Вывод полученного результата

MsgBox ("Коэффициент срочной ликвидности равен " & KS) 'Ввод исходных данных

Z = InputBox("Введите запасы и затраты") 'Вычисление коэффициента текущей ликвидности

KT = (Z + D) / (T - DK - FP)

'Вывод полученного результата

MsgBox ("Коэффициент текущей ликвидности равен " & KT)

End Sub

Выполним

расчёт при

следующих

значениях

исходных данных:

R

=

2 350 тыс. руб.,

S = 5 100

тыс. руб., F

= 10 %, T

= 7 200 тыс. руб.,

DK

=

750 тыс. руб., FP = 375 тыс. руб., Z = 14 200 тыс. руб.

 

 

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

15

Рисунок 7 – Диалоговые окна для ввода исходных данных и вывода полученных результатов

С помощью VBA можно создать новую (пользовательскую) функцию MS Excel, которая будет использоваться аналогично стандартным встроенным функциям, таким как СУММ, СРЗНАЧ и др.

Программный код при создании пользовательской функции обязательно должен быть введён в модуле VBA Module1, Module2 и др. Если создать пользовательскую функцию в модулях Лист или ЭтаКнига, она не будет видна при вводе формул в ячейки рабочего листа.

Создадим пользовательскую функцию MS Excel для расчёта коэффициента текущей ликвидности.

Предварительно нужно создать модуль (Insert → Module), если он не был создан заранее, и активизировать его. Затем выполняются действия Insert → Procedure. В появившемся диалоговом окне вводится имя процедуры, указывается её тип – Function (процедура-функция), определяется область действия функции – Public (рисунок 8):

16

Рисунок 8 – Диалоговое окно для создания процедуры

Ключевое слово Public указывает, что процедура-функция будет доступна для всех других процедур во всех модулях открытых проектов. Если использовать ключевое слово Private, созданная пользовательская функция не будет видна в диалоговом окне Мастер функций при попытках ввести её в формулу.

После нажатия кнопки OK вводим программный код процедуры:

Public Function Текущая_ликвидность(R As Single, S As Single, _

T As Single, DK As Single, FP As Single, Z As Single) As Single Dim D As Single

D = R + S

Текущая_ликвидность = (Z + D) / (T - DK - FP)

End Function

Обратите внимание, что в программном коде процедуры-функции имя процедуры используется в качестве имени переменной, которой будет присваиваться вычисленное в процедуре итоговое значение. После завершения выполнения процедуры-функции она всегда возвращает текущее значение переменной, имя которой совпадает с названием функции.

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

17

Воспользоваться созданной пользовательской функцией можно обычным способом:

1)выполнить команды Вставка → Функция или нажать кнопку fx в строке формул;

2)в появившемся диалоговом окне Мастер функций выбрать категорию Определённые пользователем, затем имя нужной функции (рисунок 9);

Рисунок 9 – Диалоговое окно для выбора пользовательской функции

3) в диалоговом окне второго шага Мастера функций ввести значения аргументов функции с клавиатуры или с помощью ссылок на нужные ячейки рабочего листа (рисунок 10).

Рисунок 10 – Диалоговое окно для ввода значений исходных данных

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]