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

17.1.7. Код формы frm_Balance

В листинге 17.5. вы можете найти код модуля формы frm_Balance. Здесь мы вычисляем баланс доходов и расходов по всей таблице. Вычисления ведутся в коде обработчика события Activate.

Private Sub cmd_OK_Click()

frm_Balance.Hide

End Sub

Private Sub UserForm_Activate()

'Адрес строки

Dim num_Address

'Переменная для хранения суммы доходов

Dim num_Earn

'Переменная для хранения суммы расходов

Dim num_Spend

For i = 1 To ActiveSheet.Range("B1") - 1

num_Address = i + ActiveSheet.Range("B2")

'Если в строке хранится значение дохода

'добавим его в num_Earn

If ActiveSheet.Cells(num_Address, 3) = "Доход" _

Then

num_Earn = num_Earn + _

ActiveSheet.Cells(num_Address, 4)

End If

'Если в строке хранится значение расхода

'добавим его в num_Spend

If ActiveSheet.Cells(num_Address, 3) = "Расход" _

Then

num_Spend = num_Spend + _

ActiveSheet.Cells(num_Address, 4)

End If

Next i

lbl_Balance = num_Earn - num_Spend

If num_Earn > num_Spend Then _

lbl_Msg = "Доходы больше расходов."

If num_Earn = num_Spend Then _

lbl_Msg = "Доходы равны расходам."

If num_Earn < num_Spend Then _

lbl_Msg = "Доходы меньше расходов."

End Sub

Листинг 17.5. Код формы frm_Balance (htmltxt)

17.2. Задача об обмене значениями

17-02-Обмен значений.xlsm - пример к п. 17.2.

17.2.1. Условие

Произвести обмен значениями двух переменных без использования третьей

17.2.2. Решение

Предположим, что имеются 2 переменные (А и В), содержащие числа. Для обмена значениями этих переменных достаточно произвести следующие действия:

  1. Сложить А и В и результат записать в А

  2. Вычесть из А переменную В и записать результат в В.

  3. Вычесть из А переменную В и записать результат в А.

Для решения задачи будем считать, что число A записано в ячейку B2, число В - в ячейку C2. Подпишем соответствующим образом эти ячейки и разместим на рабочем листе кнопку с именем cmd_Change и надписью Обменять А и В (рис. 17.6.)

Рис. 17.6.  Рабочий лист, подготовленный для решения задачи

В листинге 17.6. вы можете найти программный код для решения задачи, размещенный в обработчике события Click для кнопкиcmd_Change

'Сохраняем сумму ячеек в B2

ActiveSheet.Range("B2") = _

ActiveSheet.Range("B2") + _

ActiveSheet.Range("C2")

'Разность сохраняем в С2

ActiveSheet.Range("C2") = _

ActiveSheet.Range("B2") - _

ActiveSheet.Range("C2")

'И еще раз разность в B2

ActiveSheet.Range("B2") = _

ActiveSheet.Range("B2") - _

ActiveSheet.Range("C2")

Листинг 17.6. Решение задачи (htmltxt)

17.3. Перевод чисел из одной системы счисления в другую

17-03-Системы счисления.xlsm - пример к п. 17.3.

17.3.1. Условие

Перевести заданное пользователем целое число A из одной системы счисления ( P ) в другую ( Q ). P и Q могут изменяться от 2 до 10.