Проектирование графического интерфейса экономической задачи 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Проектирование графического интерфейса экономической задачи



Разработать VBA-проект по электронной обработке массивов экономических данных, представленных в виде таблицы 94.

 

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

Выполнение задания:

Пусть N – количество видов транспорта предприятия;
J – Порядковый номер строки в таблице;
A (1 to 50), B (1 to 50), C (1 to 50), D (1 to 50), E (1 to 50), F (1 to 50) - массивы
данных в 1-й … 6-й колонках таблицы;
S2-сумма данных во 2-й колонке; S3-сумма данных в 4 колонке S4-сумма данных в 5-й колонке
BB, СС, EE – среднее значение данных во 2-й, 4-й и 5-й колонках.

Предварительно на экранной форме конструируются следующие управляющие объекты: электронные кнопки CommandButton1, CommandButton2 и CommandButton3. Впоследствии их свойству Caption присваиваются значения: "Рассчитать", "Ввести данные", "Выход". Далее на форму заносится метка Label1, для воспроизведения последующего на ней сообщения «Ввод данных завершен» или «Вывод данных на экранную таблицу завершен»

Составим программный код в командных кнопках CommandButton, запустим VBA-проект на выполнение с помощью клавиши F5.

 

Dim A(1 To 50) As String

Dim B(1 To 50) As Variant

Dim C(1 To 50) As Integer

Dim F(1 To 50) As Integer

Dim N As Integer

Dim A1(1 To 5) As Integer

Dim D(1 To 50) As Variant

Dim E(1 To 50) As Variant

Dim S2, S4, BB, EE, K, S As Single

Dim S3, CC As Integer

Private Sub CommandButton1_Click()

Debug.Print Tab(111); "ТАБЛИЦА 94"

Debug.Print Tab(40); "СТРУКТУРА АВТОПАРКА В АВТОТРАНСПОРТНОМ ПРЕДПРИЯТИИ"; в; ОБЪЕДИНЕНИИ; ""

Debug.Print String$(120, "=")

Debug.Print Tab(1); "|"; Tab(7); "ВИД"; Tab(40); "|"; Tab(45); "КОЛЛИЧЕСТВО"; Tab(70); "|"; Tab(85); "БАЛАНСОВАЯ СТОИМОСТЬ"; Tab(120); "|";

Debug.Print Tab(1); "|"; Tab(5); "ТРАНСПОРТА"; Tab(40); "|"; Tab(41); String(29, "="); Tab(70); "|"; Tab(71); String$(49, "="); Tab(120); "|";

Debug.Print Tab(1); "|"; Tab(40); "|"; Tab(49); "ЕД."; Tab(57); "|"; Tab(63); "%"; Tab(70); "|"; Tab(73); "ТЫС.РУБ."; Tab(87); "|"; Tab(89); "ТЫС.ДОЛЛ"; Tab(99); "|"; Tab(109); "%"; Tab(120); "|"; Tab(121); vbLf;

Debug.Print Tab(1); "|"; String$(38, "="); Tab(40); "|"; String$(16, "="); Tab(57); "|"; String$(12, "="); Tab(70); "|"; String$(16, "="); Tab(87); "|"; String$(11, "="); Tab(99); "|"; String$(20, "="); Tab(120); "|";

Debug.Print Tab(1); "|"; Tab(15); "A"; Tab(40); "|"; Tab(50); "B"; Tab(57); "|"; Tab(63); "C"; Tab(70); "|"; Tab(77); "D"; Tab(87); "|"; Tab(93); "Е"; Tab(99); "|"; Tab(109); "F"; Tab(120); "|"; Tab(121); vbLf;

Debug.Print Tab(1); "|"; String$(38, "="); Tab(40); "|"; String$(16, "="); Tab(57); "|"; String$(12, "="); Tab(70); "|"; String$(16, "="); Tab(87); "|"; String$(11, "="); Tab(99); "|"; String$(20, "="); Tab(120); "|";

For j = 1 To N

 B(j) = Int(B(j) * 10) / 10

D(j) = Int(D(j) * 10) / 10

 E(j) = Int(E(j) * 10) / 10

Debug.Print Tab(1); "|"; Tab(5); A(j); Tab(40); "|"; Tab(49); B(j); Tab(57); "|"; Tab(61); C(j); Tab(70); "|"; Tab(76); D(j); Tab(87); "|"; Tab(92); E(j); Tab(99); "|"; Tab(108); F(j); Tab(120); "|";

Debug.Print vbLf; Tab(1); "|"; String$(38, "="); Tab(40); "|"; String$(16, "="); Tab(57); "|"; String$(12, "="); Tab(70); "|"; String$(16, "="); Tab(87); "|"; String$(11, "="); Tab(99); "|"; String$(20, "="); Tab(120); "|";

Next j

Debug.Print Tab(1); "|"; Tab(5); "ИТОГО"; Tab(40); "|"; Tab(49); S2; Tab(57); "|"; Tab(61); "100,0"; Tab(70); "|"; Tab(76); S3; Tab(87); "|"; Tab(92); S4; Tab(99); "|"; Tab(109); "100,0"; Tab(120); "|";

Debug.Print vbLf; Tab(1); "|"; String$(38, "="); Tab(40); "|"; String$(16, "="); Tab(57); "|"; String$(12, "="); Tab(70); "|"; String$(16, "="); Tab(87); "|"; String$(11, "="); Tab(99); "|"; String$(20, "="); Tab(120); "|";

Debug.Print Tab(1); "|"; Tab(5); "ВСРЕДНЕМ "; Tab(40); "|"; Tab(50); "-"; Tab(57); "|"; Tab(63); "-"; Tab(70); "|"; Tab(76); CC; Tab(87); "|"; Tab(92); EE; Tab(99); "|"; Tab(109); "-"; Tab(120); "|";

Debug.Print vbLf; String$(120, "=")

End Sub

Private Sub CommandButton2_Click()

End‘Выходизпрограммы

End Sub

Private Sub CommandButton3_Click()

2: N = InputBox("Сколькостроквтаблице?", "Размертаблицы")

S = MsgBox("Вы уверены, что это правильный ответ?", 36, "ВВОД ДАННЫХ")

If S = 6 Then GoTo 1

If S = 7 Then GoTo 2

1: S = MsgBox("Введем отсутствующие данные", 36, "ВВОД ДАННЫХ")

If S = 6 Then GoTo 3

If S = 7 Then GoTo 2

3: K = InputBox("Введите курс доллара в рублях", "ВВОД ДАННЫХ"): For j = 1 To N

A(j) = InputBox("Введите ВИД ТРАНСПОРТА предприятия:", "ВВОД ДАННЫХ ")

B(j) = Val(InputBox("Введите КОЛЛИЧЕСТВО (ЕД.)транспорта:", "ВВОД ДАННЫХ "))

D(j) = Val(InputBox("Введите БАЛАНСОВУЮ СТОИМОСТЬ(ТЫС.РУБ)транспорта:", "ВВОД ДАННЫХ "))

Next j

For j = 1 To N

E(j) = D(j) / K

S2 = S2 + B(j)

S3 = S3 + D(j)

S4 = S4 + E(j)

Next j

For j = 1 To N

C(j) = (B(j) / S2) * 100

F(j) = E(j) / S4 * 100

Next j

BB = S2 / N

CC = S3 / N

BB = Int(BB * 10) / 10

EE = S4 / N

S4 = Int(S4 * 10) / 10

EE = Int(EE * 10) / 10

End Sub



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 65; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.6.114 (0.008 с.)