Порядок действий при создании калькулятора в excel с помощью visual basic

Обновлено: 04.07.2024

БлогNot. Решаем счётные задачи с помощью Excel VBA

Решаем счётные задачи с помощью Excel VBA

Visual Basic for Applications (VBA) – диалект языка Visual Basic, включённый в состав пакета Microsoft Office. Программы на VBA, называемые макросами, могут выполняться прямо из документа Word или Excel, используя при этом в качестве интерфейса пользователя стандартные для Windows кнопки, поля ввода, списки, окна диалога или переключатели.

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

Перед началом работы:

1. Включите настройку Кнопка Office - Параметры Excel (или Word) - Основные - "Показывать вкладку Разработчик на ленте". В последних версиях офиса настройка может называться иначе, но она там есть :)

2. На вкладке Разработчик нажмите кнопку Безопасность макросов и разрешите выполнение макросов:

параметры макросов


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

3. Нажмите вкладку Разработчик – Макросы, дайте новой программе имя и нажмите кнопку Создать:

создание макроса


создание макроса

Откроется редактор Visual Basic, в котором можно писать, отлаживать, выполнять и сохранять программы.

На скрине ниже показана программа, позволяющая вычислить, сколько процентов составляет значение A от B.

пример программы


пример программы

Вот листинг почти программки такого же типа, только ещё проще.

Теперь можно нажать зелёный треугольничек или клавишу F5 в редакторе VBA, чтобы запустить программу. Если доступно несколько программ или текстовый курсор не установлен внутри программы, компьютер может попросить выбрать нужную по имени:

запуск программы из редактора Visual Basic


запуск программы из редактора Visual Basic

Чтобы макросы не пропали, при первом сохранении рабочей книги нужно выбрать пункт меню "Сохранить как" и указать в списке "Тип файла" значение "Книга Excel с поддержкой макросов (*.xlsm)".

Обычно мы хотим запускать программу не из Visual Basic, а прямо из документа, например, нажимая кнопку.

Чтобы встроить кнопку непосредственно в документ Word или Excel, действуем так:

1. На вкладке разработчика нажмём кнопку "Режим конструктора" и выберем нужный элемент управления, например, кнопку:

выбор инструмента "Кнопка"


выбор инструмента "Кнопка"

2. Потом курсором-крестиком "нарисуем" кнопку в документе и нажмём "Создать" в окне "Назначить макрос объекту", чтобы кнопке была назначена пустая процедура-обработчик её основного события (то есть, нажатия):

добавление кнопки на лист


добавление кнопки на лист

3. После этого можно запрограммировать процедуру обработки нажатия нашей кнопки.

Обращаться к ячейкам Excel из программы VBA тоже очень легко, вот несколько примеров:

Ну и немного более законченного кода.

Попробуйте скопировать в VBA и выполнить эти 2 несложных программы, и начальный опыт программирования в нём у Вас появится :)

Первая программа может быть назначена кнопке и позволяет ввести из столбца A текущего рабочего листа столько числовых значений, сколько их там набрано, но не больше 100.

Полученные значения заносятся в массив A, заполнение прекращается по достижении пустой ячейки, ячейки, заполненной не числом или когда набрано 100 элементов.

Затем от введённых чисел рассчитывается сумма и записывается в ячейку B6.

Вторая программа предполагает, что в ячейках B12 и B13 рабочего листа записаны 2 даты. Это могут быть строки, интерпретируемые Вашим Excel как даты, например, 01.01.2001 или даты, полученные формулой, скажем, =СЕГОДНЯ()

В противном случае мы вычисляем и выводим в ячейку B16 количество дней между датами, а в C12 и C13 - дни недели по русски. Добавьте небольшое оформление и получите простейший калькулятор дат:

пример "интерфейса" для макроса VBA


пример "интерфейса" для макроса VBA

Visual Basic 6.0 является языком программирования, разработанный Microsoft, который может легко изучить и использовать новичок, а также опытные программисты. Хотя он больше не поддерживается корпорацией Microsoft, тысячи приложений еще работают на нем и многое другое программное обеспечение все еще разрабатывается. Это руководство покажет вам, как создать простой калькулятор в Visual Basic 6.0.

Проекты Standard EXE дают вам несколько команд и инструментов, полезных для разработки простых, а также полу-сложных программ.

  • Вы также можете выбрать проект VB Enterprise Edition Project, который даст вам намного больше инструментов для работы. Для начинающего программиста предлагается использовать Standard EXE Project.

В центре экрана будет поле с большим количеством точек. Это ваша форма.Форма — это место, куда вы будете добавлять различные элементы (кнопки команд, картинки, текстовые поля и т.д.) к вашей программе.

  • Слева от окна находится панель инструментов. Панель инструментов содержит различные определенные заранее элементы любой программы. Вы можете перетащить эти элементы на форму.
  • В нижней правой части окна находится макет формы. Это определяет, где ваша программа будет отображаться на экране после того, как проект будет завершен и выполнен.
  • Посередине правее находится окно свойств, которые определяют свойство любого элемента, выбранного в форме. Вы можете изменять различные свойства, используя его. Если не выбран ни один элемент, оно отображает свойства формы.
  • В правом верхнем углу находится Project Explorer. Оно показывает различные конструкции, формы, которые включены в проект.
  • Если любой из этих полей отсутствует, вы можете добавить их, нажав на кнопку «View» на панели меню Menu.
  • Надпись на метке можно изменить с помощью окна свойств.

Создайте текстовое поле справа от первой метки. Удалите текст, который появляется внутри текстового поля, изменив пустующее поле «Text» в окне свойств.

Создайте еще одну метку и измените заголовок на «Enter second number», и создайте еще одно текстовое поле для нее справа.

Перетащите и создайте четыре командные кнопки ниже этих двух меток. Измените заголовок этих командных кнопок на «Add», «Subtract», «Multiply», «Divide» соответственно.

Создайте еще одну метку с надписью «Result» и текстовое поле справа от нее под кнопками четырех команд. Это текстовое поле будет использоваться для отображения результата. При этом ваш проект будет завершен.

Вас перекинет в окно кодирования.

  • Нажмите на список в верхнем левом углу окна кодирования. Один за другим нажимайте на все команды (Command1, Command2, и т.д.), таким образом план кодирования из них будет виден вам в вашем окне кодирования.
  • Dim a, b, r as Integer
  • a является величиной, введенной в первом текстовом поле, b является величиной , введенной во втором текстовом поле и r является результатом. Вы можете использовать любые другие переменные тоже.

Код будет выглядеть следующим образом:

Код будет выглядеть следующим образом:

Кодирование будет выглядеть следующим образом:

Кодирование будет выглядеть следующим образом:

Сохраните проект и свою форму. Создайте свой проект и сохраните его в виде .exe файла на своем компьютере; запустите его, когда вы хотите!

Советы

  • Вы можете создавать различные вариации простого калькулятора. Попробуйте использовать окно опций вместо командных кнопок.
  • Добавьте цвета на форму и текстовые поля, используя окно свойств, чтобы они выглядели красочно!
  • Если есть ошибка, научитесь отлаживать программу.

Информация о статье

Эту страницу просматривали 35 159 раза.

Была ли эта статья полезной?

как сделать калькулятор в vba excel

Для постоянных пользователей Excel не секрет, что в этой программе можно производить различные математические, инженерные и финансовые расчеты. Данная возможность реализуется путем применения различных формул и функций. Но, если Эксель постоянно использовать для проведения подобных расчетов, то актуальным становится вопрос организации необходимых для этого инструментов прямо на листе, что значительно повысит скорость вычислений и уровень удобства для пользователя. Давайте выясним, как сделать подобный калькулятор в Экселе.

Процедура создания калькулятора

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

Способ 1: использование макросов

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

  1. После того, как указанные выше предварительные настройки выполнены, перемещаемся во вкладку «Разработчик». Жмем на иконку «Visual Basic», которая размещена на ленте в блоке инструментов «Код».
  2. Запускается окно редактора VBA. Если центральная область у вас отобразилась серым цветом, а не белым, то это означает, что поле введения кода отсутствует. Для включения его отображения переходим в пункт меню «View» и жмем по надписи «Code» в появившемся списке. Можно вместо этих манипуляций нажать функциональную клавишу F7. В любом случае поле для ввода кода появится.
  3. Тут в центральной области нам нужно записать сам код макроса. Он имеет следующий вид:

Sub Calculator()
Dim strExpr As String
' Введение данных для расчета
strExpr = InputBox("Введите данные")
' Вычисление результата
MsgBox strExpr & " _2">Способ 2: применение функций

Теперь давайте рассмотрим вариант создания узкопрофильного калькулятора. Он будет предназначен для выполнения конкретных, специфических задач и размещен непосредственно на листе Excel. Для создания этого инструмента будут применяться встроенные функции Эксель.

Для примера создадим инструмент конвертации величин массы. В процессе его создания нами будет использована функция ПРЕОБР. Данный оператор относится к инженерному блоку встроенных функций Эксель. Его задачей является преобразование величин одной меры измерения в другую. Синтаксис данной функции следующий:

«Число» — это аргумент, имеющий вид числового значения той величины, которую надо конвертировать в другую меру измерения.

«Исходная единица измерения» — аргумент, который определяет единицу измерения величины, подлежащую конвертации. Он задается специальным кодом, который соответствует определенной единице измерения.

«Конечная единица измерения» — аргумент, определяющий единицу измерения той величины, в которую преобразуется исходное число. Он также задается с помощью специальных кодов.

Нам следует подробнее остановиться на этих кодах, так как они нам понадобятся в дальнейшем при создании калькулятора. Конкретно нам понадобятся коды единиц измерения массы. Вот их перечень:

  • g – грамм;
  • kg – килограмм;
  • mg – миллиграмм;
  • lbm – английский фунт;
  • ozm – унция;
  • sg – слэг;
  • u – атомная единица.

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

  1. Прежде всего, делаем заготовку. У нашего вычислительного инструмента будет четыре поля:
    • Конвертируемая величина;
    • Исходная единица измерения;
    • Результат конвертации;
    • Конечная единица измерения.

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

В поля «Конвертируемая величина», «Исходная граница измерения» и «Конечная граница измерения» нами будут вводиться данные, а в поле «Результат конвертации» — выводиться конечный результат.

Выделяем ячейку, которая находится под наименованием «Исходная единица измерения». Снова клацаем по иконке «Проверка данных».

После того, как все данные введены, жмем на кнопку «OK».

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

Кликаем левой кнопкой мыши по элементу на пересечении горизонтальной и вертикальной панели координат. При этом выделяется весь лист. Затем кликаем правой кнопкой мыши по выделению. Открывается контекстное меню, в котором выбираем позицию «Формат ячеек…».

Таким образом, мы создали полноценный калькулятор для конвертации величины массы в различные единицы измерения.

Кроме того, в отдельной статье рассказывается о создании ещё одного вида узкопрофильного калькулятора в Экселе для расчета платежей по кредитам.

Урок: Расчет аннуитетного платежа в Экселе

Способ 3: включение встроенного калькулятора Excel

Кроме того, в Экселе имеется собственный встроенный универсальный калькулятор. Правда, по умолчанию кнопка его запуска отсутствует на ленте или на панели быстрого доступа. Рассмотрим, как активировать её.

  1. После запуска программы Excel перемещаемся во вкладку «Файл».
  2. Далее в открывшемся окне переходим в раздел «Параметры».
  3. После запуска окошка параметров Excel перемещаемся в подраздел «Панель быстрого доступа».
  4. Перед нами открывается окно, правая часть которого разделена на две области. В правой ее части расположены инструменты, которые уже добавлены на панель быстрого доступа. В левой представлен весь набор инструментов, который доступен в Excel, включая отсутствующие на ленте.

Над левой областью в поле «Выбрать команды» из перечня выбираем пункт «Команды не на ленте». После этого в списке инструментов левой области ищем наименование «Калькулятор». Найти будет просто, так как все названия расположены в алфавитном порядке. Затем производим выделения данного наименования.

Над правой областью находится поле «Настройка панели быстрого доступа». Оно имеет два параметра:

  • Для всех документов;
  • Для данной книги.

По умолчанию происходит настройка для всех документов. Этот параметр рекомендуется оставить без изменений, если нет предпосылок для обратного.

После того, как все настройки совершены и наименование «Калькулятор» выделено, жмем на кнопку «Добавить», которая расположена между правой и левой областью.

Как видим, в Экселе существует очень много вариантов создания калькуляторов для различных нужд. Особенно эта возможность полезна при проведении узкопрофильных вычислений. Ну, а для обычных потребностей можно воспользоваться и встроенным инструментом программы.

Мы рады, что смогли помочь Вам в решении проблемы.

Задайте свой вопрос в комментариях, подробно расписав суть проблемы. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

Использование макросов Заходите во вкладку «Разработчик» и кликаете на иконку «Visual Basic», которая находится на ленте в блоке инструментов «Код».

Далее запускаете окно редактора VBA. При отображении центральной области серым цветом, а не белым, это означает, что поля для введения кода нет. Для того чтобы он отображался, нужно зайти в пункт меню «View» и кликнуть на «Code» в списке, который появится.

В центральной области вводите код макроса:

Dim strExpr As String

‘ Введение данных для расчета

strExpr = InputBox(«Введите данные»)




Вместо «Введенные данные» можно внести любое другое более подходящее название. Теперь нужно перезаписать файл. Сохраняете его в формате с поддержкой макросов. Нажимаете на иконку в виде дискеты на панели инструментов редактора VBA.

Должно запуститься окно сохранения документа. Переходите туда, куда хотите его сохранить. В строке «Имя файла» вносите то название, которое хочется. Обязательно в строке «Тип файла» выбираете «Книга Excel с поддержкой макросов (*xlcm)». Кликаете на «Сохранить» в нижней части окна.

Закрываете окно редактора макросов нажатием стандартного значка закрытия в виде красного квадрата с белым крестом в правом верхнем углу окна.

Для запуска вычислительного инструмента с помощью макроса, во вкладке «Разработчик» нажимаете на «Макросы» на ленте в блоке инструментов «Код».

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

Должен запуститься калькулятор, который создан на основе макроса.

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

На экране отобразится небольшое окно, в котором и будет находиться ответ решения заданного выражения. Нажимаете на Ок.

Чтобы упростить реализацию запуска окна вычислений, нужно во вкладке «Разработчик» нажать на иконку «Макросы».

В окне макросов выбрать нужное наименование и кликнуть на «Параметры…».

Запуститься маленькое окошко, в котором можно вбить сочетание клавиш, при нажатии которых и будет запускаться калькулятор. Вписываете выбранный символ в поле «Сочетание клавиш» и нажимаете ОК.

Закрываете окно макроса.

Включение встроенного калькулятора ExcelПереходите во вкладку «Файл».

Далее в раздел «Параметры».

Затем в подраздел «Панель быстрого доступа».

В поле «Выбрать команды» нажимаете «Команды не на ленте» и ищите «Калькулятор». Кликаете на «Добавить».

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

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

Как включить калькулятор в Microsoft Excel

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

В этой статье я расскажу о каждом способе более детально.

Способ 1: Запуск системного приложения «Калькулятор»

В операционной системе Windows по умолчанию присутствует калькулятор, найти который можно в меню «Пуск» (еще можно добавить значок на панель задач или создать ярлык на рабочем столе). Иногда это не совсем удобно, когда требуется доступ к расчетам при взаимодействии с электронными таблицами. Разработчики Excel предлагают запускать калькулятор через панель быстрого доступа, расположив там соответствующий значок. Делается это так:

Переход в Параметры для включения калькулятора в Excel

Запустите программу и пока не открывайте книги, а в главном окне выберите пункт «Параметры», отыскав его на панели слева.

Открытие настроек кнопок быстрых действий для включения калькулятора в Excel

Перейдите к разделу «Панель быстрого доступа» и отключите фильтрацию, указав вариант «Все команды» из соответствующего выпадающего меню.

Выбор кнопки быстрых действий для включения калькулятора в Excel

Найдите там «Калькулятор» (сделать это будет несложно, поскольку все команды расположены в алфавитном порядке), после чего выделите строку и нажмите кнопку «Добавить» или используйте двойной клик левой кнопкой мыши по надписи «Калькулятор».‎‎‎‎‎‎‎

Добавление кнопки для быстрых действий для включения калькулятора в Excel

Убедитесь в том, что приложение теперь отображается в списке справа, после чего щелкните по «ОК» для сохранения изменений и выхода из параметров.

Использование кнопки быстрых действий для включения калькулятора в Excel

После запуска любой книги на панели сверху вы увидите значок с калькулятором. Нажмите по нему для запуска соответствующего приложения.

Открытие приложения для включения калькулятора в Excel

Откроется новое окно со стандартной программой, где вы можете выполнять любые расчеты.‎

Способ 2: Создание макроса для калькулятора (скрипт)

Excel совместим с Visual Basic и позволяет запускать пользовательские скрипты или макросы, используя для этого сохраненный код в редакторе. Сейчас я не хочу детально рассказывать обо всех особенностях этого процесса взаимодействия с программой, поскольку обычными пользователями применяется он редко, а остановлюсь исключительно на реализации калькулятора, приведя простой скрипт.

Включение вкладки разработчика для включения калькулятора в Excel

Сначала откройте «Параметры» точно так же, как это было показано в предыдущем способе, но на этот раз выберите раздел «Настроить ленту». Выберите команды со вкладками и дважды щелкните по строке с надписью «Разработчик».

Переход на вкладку разработчика для включения калькулятора в Excel

Примените изменения и откройте любой документ, после чего вы увидите, как в главном окне появилась новая вкладка, по умолчанию отсутствующая в программе. Перейдите на нее и запустите средство «Visual Basic».

Открытие окна для написания кода для включения калькулятора в Excel

‎‎‎‎Перед вами появится окно с формой для записи кода, а если его нет, через меню «File» самостоятельно вызовите его.

Вставьте туда следующее содержимое:‎

Написание кода для включения калькулятора в Excel

Сохранение кода для включения калькулятора в Excel

Сохраните результат, задав для макроса подходящее название.

Подтверждение сохранения кода для включения калькулятора в Excel

Если текущая книга не поддерживает макросы, все равно продолжите сохранение, ведь это не скажется на дальнейшем запуске скрипта.

Открытие окна с доступными макросами для включения калькулятора в Excel

Теперь при надобности запуска калькулятора на той же вкладке нажмите кнопку «Макросы».

Запуск созданного макроса для включения калькулятора в Excel

Выберите созданный макрос и щелкните по «Выполнить» левой кнопкой мыши.

Ввод операции во встроенном калькуляторе Excel

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

Просмотр результата во встроенном калькуляторе Excel

‎‎Через несколько секунд на экране появится окно с результатом выполнения. Используйте данный калькулятор в любой удобный момент, точно так же запуская уже существующий макрос и выполняя любые расчеты.

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

Способ 3: Встроенные в Excel функции

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

Использование функций для включения калькулятора в Excel

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

Microsoft Visual Basic - это язык программирования, основанный на языке BASIC, изначально разработанный для облегчения изучения программирования. Visual Basic принимает знакомые команды BASIC и добавляет объектно-ориентированные инструменты и интерфейсы для разработки WYSIWYG-подобных приложений Windows и веб-элементов управления, а также многие другие улучшения. Одним из относительно простых обучающих проектов для Visual Basic является создание калькулятора Windows.


Новый проект с бланком (Violet Mabe)


Окно списка и свойств проекта (Violet Mabe)


Создание текстового поля в вашей форме (Violet Mabe)


Расположение кнопок для программы калькулятора (Violet Mabe)

Шаг 5

Добавьте код. Обратите внимание, что если ваши кнопки и текстовое поле не названы так, как ожидает код, указанный здесь, вам нужно будет изменить имена, чтобы они соответствовали вашим кнопкам и текстовому полю, или измените ваши кнопки и текстовое поле, чтобы они соответствовали этому коду. Сначала нам нужно создать несколько переменных для обработки ввода калькулятора:

Dim sLeft As String, sRight As String, sOperator As String Dim iLeft As Double, iRight As Double, iResult как Double Dim bLeft As Boolean

Каждое вычисление состоит из четырех частей: число слева от оператора (sLeft, iLeft), оператор (sOperator), число справа от оператора (sRight, iRight) и результат (iResult). Чтобы отследить, вводит ли пользователь левое или правое число, нам нужно создать логическую переменную bLeft. Если bLeft имеет значение true, вводится левая сторона расчета; если bLeft имеет значение false, вводится правая сторона.

Шаг 6

Инициализируйте переменную bLeft. Мы делаем это, создавая подпрограмму Form_Load, которую вы можете либо ввести, как указано здесь, либо автоматически создать, дважды щелкнув мышью на любой части формы, не покрытой кнопкой или текстовым полем. Внутри функции нам нужно установить bLeft в True, потому что первое введенное число будет левой частью:

Частный Sub Form_Load () bLeft = True End Sub


Список кодов после шага 7 (Violet Mabe)

Создайте подпрограмму, которая будет обрабатывать нажатие любой из цифровых кнопок. Мы создаем это как подпрограмму, потому что мы используем идентичный код для каждой кнопки, а использование подпрограммы означает, что нет необходимости повторять один и тот же код десять раз. Введите следующее под строкой End Sub подпрограммы Form_Load:

Private Sub AddNumber (sNumber As String) Если bLeft, то sLeft = sLeft + sNumber tbResult.Text = sLeft Остальное sRight = sRight + sNumber tbResult.Text = sRight End If End Sub

Как видите, эта функция принимает строковый параметр sNumber, который будет содержать число, на которое щелкнул пользователь. Если bLeft имеет значение true, этот номер добавляется к строке, представляющей вводимый номер, sLeft, и текстовое поле tbResult обновляется для отображения нового номера. Если bLeft имеет значение false, та же операция выполняется с использованием sRight.

Private Sub btn0_Click () AddNumber ("0") End Sub

Аналогично, для одной кнопки ваш код будет выглядеть так:

Private Sub btn1_Click () AddNumber ("1") End Sub

Шаг 8

Обрабатывать операторы: плюс, минус, раз и делить. Мы сделаем это подобно последнему шагу, создав подпрограмму, которая вызывается в событиях Click для кнопок оператора. Подпрограмма будет выглядеть следующим образом:

Private Sub AddOperator (sNewOperator As String) Если bLeft, то sOperator = sNewOperator bLeft = False Else btnEquals_Click sOperator = sNewOperator sRight = "" bLeft = False End If End Sub

Если bLeft имеет значение true, то есть пользователь только что ввел левую часть вычисления, эта подпрограмма устанавливает переменную sOperator, которую мы создали на шаге 5, равной введенному оператору, который передается в AddOperator в виде строки sNewOperator. Второй шаг - установить bLeft в False, потому что ввод оператора означает, что пользователь завершил ввод левой части уравнения. Для обработки записей, которые объединяют несколько операторов, например, 9 3 2 * 6, нам также нужно проверить, имеет ли значение bLeft значение false, что означает, что пользователь ввел оператор, в котором мы ожидали равенства. Сначала мы вызываем событие Click для кнопки равенства (описанной на следующем шаге), которая выполняет расчет и устанавливает tbResult для результата того, что уже было введено. Затем мы очищаем sRight, чтобы пользователь мог ввести следующий номер, и устанавливаем bLeft в False, чтобы программа знала, что мы входим в правую часть следующего вычисления.

Private Sub btnPlus_Click () AddOperator ("+") End Sub

Аналогично, код кнопки минус будет выглядеть так:

Приватная саб btnMinus_Click () AddOperator ("-") End Sub

Шаг 9

Private Sub btnEquals_Click () If sLeft <> "" And sRight = "" And sOperator <> "" Тогда sRight = sLeft End If

Первые три строки кода проверяют, введены ли обе стороны расчета вместе с оператором. Если введены только левая сторона и оператор, значение левой стороны копируется вправо, поэтому мы можем имитировать стандартное поведение калькулятора для обработки записи, такой как 9 * =, которая умножает 9 на себя, чтобы получить результат 81. Остальная часть кода будет выполняться только в том случае, если введены левый, правый и оператор, и начнется с копирования строк чисел в переменные двойного типа iLeft и iRight, которые могут выполнять реальные вычисления. Оператор Select Case позволяет нам запускать другой код в зависимости от того, какой оператор был введен, и выполняет фактические вычисления, помещая результат в iResult. Наконец, мы обновляем текстовое поле с результатом, копируем результат в sLeft, сбрасываем sRight и устанавливаем bLeft = True. Эти последние строки позволяют нам взять результат вычисления и использовать его для выполнения другого вычисления.

Шаг 10

Обработка последних трех кнопок управления: sqrt,% и 1 / x. Для события Click кнопки квадратного корня ваш код будет выглядеть следующим образом:

Private Sub btnSqrt_Click () If sLeft <> "" Тогда iLeft = sLeft Остальное iLeft = 0 End If

Первые 11 строк кода гарантируют, что если мы не введем значение для любой из сторон уравнения, мы подставим ноль вместо попытки скопировать пустую строку в iLeft или iRight, что приведет к ошибке. Средние линии выполняют функцию квадратного корня в текущей части вычисления, влево или вправо. Наконец, мы отменяем проверки, которые мы делали в начале, чтобы ноль копировался как пустая строка обратно в sLeft и sRight.

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

Private Sub btnPercent_Click () Если не bLeft, то если sRight <> "" Тогда iRight = sRight Остальное iRight = 0 End If

Наконец, событие клика 1 / x или дроби, которое очень похоже на приведенный выше код:

Private Sub btnFraction_Click () If sLeft <> "" Тогда iLeft = sLeft Остальное iLeft = 0 End If

Шаг 11

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

Private Sub btnC_Click () sLeft = "" sRight = "" sOperator = "" tbResult.Text = "0" bLeft = True End Sub

Private Sub btnCE_Click () If bLeft Then sLeft = "" Else sRight = "" End If tbResult.Text = "0" End Sub


Законченный калькулятор в действии (Violet Mabe)

Запустите программу калькулятора и сделайте любой расчет, который вы хотите. Этот калькулятор может быть легко расширен для обработки большего количества операций, более сложных вычислений или даже для научного калькулятора с небольшой дополнительной работой.

Как конвертировать QBasic в Visual Basic

Простой язык программирования QBasic поставлялся с каждым компьютером DOS в 1980-х и начале 90-х. Язык Microsoft Visual Basic с тех пор заменил его, позволяя .

Могу ли я сделать приложения для Android с помощью Visual Basic?

Могу ли я сделать приложения для Android с помощью Visual Basic?

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

Как писать простые коды Visual Basic

Как писать простые коды Visual Basic

Читайте также: