Как создать графический интерфейс в excel


Цель предлагаемого задания:

Активизировать и интегрировать
разрозненные знания по отдельным темам,
полученные при изучении электронных таблиц;
провести плавное “погружение” учащихся в
изучение нового серьезного материала по
созданию макросов в приложении Excel и расшифровки команд, полученных с
помощью MacroRecordera, и хранящихся
в форме программ на языке VBA; ввести понятие объекта и метода и
выполнить при этом задание, которое впоследствии
может послужить примером для разработки
автоматизированной информационной системы.

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

Предложенную задачу можно представит
как объединение 4 задач:

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

2. Проведение статистической обработки
полученных результатов с использованием
специальных встроенных функций. При
использовании статистических функций мы их
записываем с помощью MacroRecordera,
то есть, сохраняем в виде процедуры.

3. Построение диаграмм и графиков по
полученным расчетным данным в таблицах.

4. Создание
пользовательского интерфейса (Меню),
позволяющего объединить все решенные задачи (с
применением макросов).

Ход урока

Объектно-ориентированный
язык программирования
Visual Basic for Application (VBA) является
версией языка
Visual Basic и предназначен
для использования
в среде приложений Microsoft Office (Word, Excel, Access и др.)

Существует достаточно простая
возможность создания программы (макроса) на
языке VBA с использованием
MacroRecorder.

MacroRecorder – это
транслятор, который переводит все действия
пользователя с момента запуска MacroRecorder до окончания записи макроса на язык VBA.

Макрос –
это имеющая имя последовательность заданных
пользователем команд, хранящаяся в форме
программы на языке VBA.

I этап — Создание
пользовательского интерфейса

Подготовка листа Excel для
дальнейшей работы:


1. В рабочей книге должно быть
5 листов. Переименуйте листы следующим образом:

l Лист1 — “Меню”

l Лист2 – “Отель”

l Лист3 – “Фабрика”

l Лист4 – “Холдинг”

l Лист5 – “Турагенство”

2. С помощью коллекции WordArt подготовьте на созданном листе
“Меню” надписи “Меню” и “4 задания”.

3. Вызовите на экран
дополнительную панель “Рисование”.

4. Используя элемент “Автофигура
нарисуйте на листе одну кнопку (всего кнопок
будет 4).

5. Используя
контекстно-зависимое меню этого объекта, добавьте надпись на кнопке “Турагенство”.

6.  Измените, дизайн кнопки, т.е. поменяйте фон
кнопки, а также начертание, название шрифта и
размер букв надписи на кнопке.


Рис. 1. Так выглядит пользовательский
интерфейс “4 задания”

Рисунок 1

II этап —
Создание макросов.

1. Установим курсор на листе
“Меню”.

2. Активизируем MacroRecoder с помощью команды Сервис-Макрос-Начать
запись.
Появится диалоговое окно “Запись
макроса
”. Это диалоговое окно позволяет
задать параметры макроса.

Рис. 2. Диалоговое окно
“Запись макроса”

Рисунок 2

По умолчанию макросам
присваиваются имена Макрос1, Макрос2 и т.д. Чтобы
легче было распознать макрос, лучше присвоить
ему имя, поясняющее его назначение. Присвоим
макросу имя “Турагенство” и нажмем кнопку Ок.
Появится плавающая панель инструментов с
кнопкой “Остановить запись”. Теперь все производимые нами
действия будут записываться до тех пор, пока не
будет нажата эта кнопка.
Не выполняйте никаких лишних
действий. Все ваши действия фиксируются и
записываются. Надо выполнить только одно
действие.


l Перейдите на лист “Турагенство”.

Остановите запись макроса,
нажав на кнопку “Остановить
запись”
.

3. Просмотрите записанную
программу. Для этого выполните команду Сервис-Макрос-Макросы.
Созданная программа
записалась в Модуле1.

Рис. 3. Главное окно
редактора VBA

Рисунок 3

Таким образом, MacroRecorder записал нужную нам программу из
одной строки:
Sheets(“Турагенство”).Select – выбрать лист “Турагенство”.



III этап —
“Оживление” кнопок.

1. Для того чтобы эта
программа выполнялась, то
есть, происходил переход на
лист “Турагенство” при нажатии на одноименную
кнопку, выполните следующие действия:

l закройте окно редактора VBA;
l на листе
“Меню” вызовите контекстно-зависимое меню на
автофигуре с надписью “Турагенство”

Рис. 4.
Контекстно-зависимое меню автофигуры
“Турагенство”

Рисунок 4

l в появившемся меню выберите команду
Назначить макрос
l в
окне “Назначить макрос объекту
выберите имя макрос “Турагенство” и
подтвердите выполнение операции, нажав на кнопку
ОК.
l снимите
выделение с кнопки и проверьте ее
работоспособность, щелкнув по ней.

2. Создайте и оживите оставшиеся
кнопки пользовательского интерфейса.

IV этап Решение задачи на листе
“Турагенство”

Постановка задачи

Сформируйте и заполните накопительную
ведомость по продаже путевок туристической
фирмой «Пять континентов» за май 2003 г.

Фирма имеет семь постоянных маршрутов.
Цена каждого маршрута и количество проданных
путевок представлены в таблице. Если количество
проданных путевок в месяц по каждому из
маршрутов более 50, то путевки, проданные сверх
этих пятидесяти, реализуются со скидкой в 15% от
указанной цены.

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

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

Определите максимальное количество
путевок, проданных со скидкой.

Определите минимальную стоимость
тура.

Рассчитайте среднюю скидку за
проданные путевки.

Продажа путевок туристической фирмой

«Пять континентов» за декабрь
2003 г.

Наимено-вание маршрута

Цена за тур (в евро)

Кол-во проданных путевок

Стоимость проданных путевок (в евро)

Количество путевок, проданных со скидкой

Размер скидки за проданные путевки (в евро)

Итоговая выручка (в евро)

Египет

350

60

Испания

450

20

Кипр

290

25

Чехия

450

80

Греция

560

27

Англия

670

55

Мексика

1390

60

Итого:

Сумма

Сумма

Сумма

Сумма

Сумма

Постройте диаграммы:


1. Круговую
диаграмму по графе «Количество проданных
путевок».

2. Гистограмму по
графе «Итоговая выручка».

Требования:

1. Процент скидки (15%) и
пограничное количество путевок (50) вынесите в
отдельные ячейки с комментариями.

2. При расчете
количества путевок, проданных со скидкой,
используйте логическую функцию ЕСЛИ.

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

4. На листе
“Турагенство” создайте кнопку для перехода на
лист “Меню”.

5. Создайте копию листа “Турагенство”.
Переименуйте лист в “Формулы” и выведите в
созданной таблице формулы расчета.

Образец выполненной работы
представлен на рис. 5. Работу выполнила ученица
Ломоносовской школы 10 класса “В” Дубровская
Ксения.

Рис. 5. Выполненная работа

Рисунок 5

Проверка выполненного задания

При проверке выполненного задания
учащиеся должны представить:

1. Таблицу со
значениями.

2. Таблицу с формулами
(рис.6). Уметь объяснить работу
формулы ЕСЛИ и применение абсолютной адресации в
формулах.

Рис. 6. Выполненная работа с формулами

Рисунок 6

3. Показать текст
макросов в редакторе VBA, созданных при нахождении
статистических показателей.

Sub Средняя_цена()
Range(«C14»).Select
ActiveCell.FormulaR1C1 = «=AVERAGE(R[-11]C[3]:R[-5]C[3])»
End Sub

Sub Максимум ()
Range(«A14»).Select
ActiveCell.FormulaR1C1 = «=MAX(R[-11]C[4]:R[-5]C[4])»
End Sub

Sub Минимум()
Range(«B14»).Select
ActiveCell.FormulaR1C1 = «=MIN(R[-11]C:R[-5]C)»
End Sub

Sub Очистка()
Range(«A14:C14»).Select
Selection.ClearContents
End Sub

4. Уметь объяснить адресацию ячеек в Excel. Для ссылок на ячейки используются
два формата. Формат А1 (ссылка
состоит из имени строки и номера столбца). Формат R1C1
– этот формат мы видим в
созданных макросах при нахождении среднего
значения, максимума и минимума. В формате R1C1, после буквы “R”
указывается номер строки ячейки, после буквы
“С” — номер столбца. Например, абсолютная ссылка R1C1 эквивалента абсолютной ссылке $A$1 для формата А1. Для задания
относительной ссылки указывается смещение по
отношению к активной ячейке. Смещение
указывается в квадратных скобках. Знак указывает
направление смещения. Например, R[-11]C:R[-5]C) (фрагмент адресации взят из нашего
макроса Минимум). Активной
ячейкой в этом макросе является ячейка B14.
R[-11]C –
обозначает
относительную ссылку на ячейку, расположенную на
11 строк выше в том же столбце, т. е. ячейку B3.
R[-5]C) —
обозначает относительную
ссылку на ячейку, расположенную на 5 строк выше в том же столбце, т. е.
ячейку B9. Таким образом, формируется диапазон В3:В9 для
нахождения минимального
значения.

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

Например:



l реализация книг издательствами
холдинга «Спутник» по кварталам за 2003 год и т.д.;

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

Темой для проекта можно выбрать
создание информационной системы
“Торгово-закупочное предприятие”, в котором
применение макросов необходимо, также как и
написание программ на языке VBA. На рис.7 показан пользовательский
интерфейс для названного проекта.

Рис. 7. Меню
“Торгово-закупочное предприятие”

Рисунок 7

Рис.8 . Таблица с формулами

Продажа путевок туристической
фирмой «Пять континентов» за декабрь 2003г.

Наименование
маршрута

Цена за тур (в ?)

Кол-во проданных
путевок

Стоимость
проданных путевок (в ?)

Кол-во путевок,
проданных со скидкой

Размер скидки за
проданные путевки (в ?)

Итоговая выручка

Скидка

Египет

350

60

=B3*C3

=ЕСЛИ(C3>$I$9;C3-$I$9;0)

=B3*E3*$I$3

=D3-F3

0,15

Испания

450

20

=B4*C4

=ЕСЛИ(C4>$I$9;C4-$I$9;0)

=B4*E4*$I$3

=D4-F4

Кипр

290

25

=B5*C5

=ЕСЛИ(C5>$I$9;C5-$I$9;0)

=B5*E5*$I$3

=D5-F5

Пограничное
кол-во путевок

Чехия

450

80

=B6*C6

=ЕСЛИ(C6>$I$9;C6-$I$9;0)

=B6*E6*$I$3

=D6-F6

Греция

560

27

=B7*C7

=ЕСЛИ(C7>$I$9;C7-$I$9;0)

=B7*E7*$I$3

=D7-F7

Англия

670

55

=B8*C8

=ЕСЛИ(C8>$I$9;C8-$I$9;0)

=B8*E8*$I$3

=D8-F8

Мексика

1390

60

=B9*C9

=ЕСЛИ(C9>$I$9;C9-$I$9;0)

=B9*E9*$I$3

=D9-F9

50

Итого:

=СУММ(C3:C9)

=СУММ(D3:D9)

=СУММ(E3:E9)

=СУММ(F3:F9)

=СУММ(G3:G9)

Grilled Giardiniera-Stuffed Steak Sandwich image

Grilled Giardiniera-Stuffed Steak Sandwich

This rolled flank steak is inspired by the Italian beef sandwich, a Chicago delicacy typically consisting of chopped thin slices of roast beef stuffed…

Provided by Food Network Kitchen

Mapo Potato image

Mapo Potato

Let’s be clear: Nothing surpasses the hearty deliciousness of a traditional mapo tofu. But for those days when you find yourself without soft tofu in the…

Provided by Hetty McKinnon

Chili image

Chili

This is a spicy, smoky and hearty pot of chili. It’s the kind of chili you need after a long day skiing — or hibernating. To create a rich and thick sauce,…

Provided by Ali Slagle

Banket image

Banket

This recipe is from my mother. It is the one she taught me with a slight tweak. In my home on the holidays one way to show someone or a family they were…

Provided by Jena Lewis

Moroccan Nachos image

Moroccan Nachos

This Moroccan twist on the much-loved appetizer features kefta, a ground beef (or lamb) mixture seasoned with parsley, cilantro, mint, paprika and cumin,…

Provided by Nargisse Benkabbou

Peanut Butter Brownie Cups image

Peanut Butter Brownie Cups

I’m not a chocolate fan (atleast not the kind made in the U.S.), but I LOVE peanut butter and chocolate and this hit the spot. I found the recipe in 2007…

Provided by AmyZoe

Banana Cream Pudding image

Banana Cream Pudding

This fabulous version of the favorite Southern dessert boosts the banana flavor by infusing it into the homemade vanilla pudding, in addition to the traditional…

Provided by Martha Stewart

Lemon Russian Tea Cakes image

Lemon Russian Tea Cakes

I love lemon desserts,these are a simple cookie I can make quickly. The recipe is based on the pecan Russian tea cakes.I don’t like lemon extract,instead…

Provided by Stephanie L. @nurseladycooks

Easy Churros with Mexican Chocolate Sauce image

Easy Churros with Mexican Chocolate Sauce

Forgo the traditional frying — and mixing up the batter! — for this Latin American treat. Instead, bake store-bought puff pastry for churros that are…

Provided by Martha Stewart

Easy Lasagna image

Easy Lasagna

Everyone loves lasagna. It’s perfect for feeding a big crowd and a hit at potlucks. But most people reserve it for a weekend cooking project since it can…

Provided by Food Network Kitchen

Grilled Vegetables Korean-Style image

Grilled Vegetables Korean-Style

Who doesn’t love grilled vegetables — the sauce just takes them over the top.

Provided by Daily Inspiration S @DailyInspiration

Outrageous Chocolate Cookies image

Outrageous Chocolate Cookies

From Martha Stewart. I’m putting this here for safe keeping. This is a chocolate cookie with chocolate chunks. Yum! Do not over cook this cookie since…

Provided by C. Taylor

CERTO® Citrus Jelly image

CERTO® Citrus Jelly

A blend of freshly squeezed orange and lemon juices puts the citrusy deliciousness in this CERTO Citrus Jelly.

Provided by My Food and Family

Previous

Next

CREATE A USER INTERFACE (UI) MACRO — MICROSOFT SUPPORT

create-a-user-interface-ui-macro-microsoft-support image

WebStep 1: Browse or search for a macro action The first step in adding an action is finding it in the Add New Action drop-down list or in the Action …
From support.microsoft.com
Label Caption, Visible, Fore Color, Back Color
Tab Control Visible
Object or control Properties that you can use

Step 1: Browse or search for a macro action The first step in adding an action is finding it in the Add New Action drop-down list or in the Action …»>
See details


CREATE A MEAL PLANNER IN EXCEL (IN EASY STEPS) — EXCEL EASY

create-a-meal-planner-in-excel-in-easy-steps-excel-easy image

WebHere’s what we are trying to achieve: 1. On the second sheet, create the following named ranges. Note: you can add 7 more breakfast meals in the future without changing the range address. 2. On the first sheet, select …
From excel-easy.com

Here’s what we are trying to achieve: 1. On the second sheet, create the following named ranges. Note: you can add 7 more breakfast meals in the future without changing the range address. 2. On the first sheet, select …»>
See details


BUILDING A GUI TO READ, MODIFY AND WRITE AN EXCEL FILE, …

building-a-gui-to-read-modify-and-write-an-excel-file image

WebMay 15, 2009 Building a GUI to Read, Modify and Write an Excel File, Part 1. From the series: Building a GUI to Read, Modify and Write an Excel File. ( Originally posted on Doug’s MATLAB Video Tutorials blog.) Planning the GUI.
From mathworks.com

May 15, 2009 Building a GUI to Read, Modify and Write an Excel File, Part 1. From the series: Building a GUI to Read, Modify and Write an Excel File. ( Originally posted on Doug’s MATLAB Video Tutorials blog.) Planning the GUI.»>
See details


HOW TO CREATE USERFORMS IN EXCEL? — SIMPLILEARN.COM

how-to-create-userforms-in-excel-simplilearncom image

WebFeb 23, 2023 To enable developer tools, navigate to the File menu in excel. Select the options button in the bottom left corner. This will navigate you to the Excel Options. Here, choose the customize ribbon option and …
From simplilearn.com

Feb 23, 2023 To enable developer tools, navigate to the File menu in excel. Select the options button in the bottom left corner. This will navigate you to the Excel Options. Here, choose the customize ribbon option and …»>
See details


GET CALORIE AND NUTRITION FACTS IN EXCEL — MICROSOFT SUPPORT

get-calorie-and-nutrition-facts-in-excel-microsoft-support image

WebSelect these cells and go to Insert > Table to create a table. Add a header column if desired. Note: While creating a table isn’t required, we recommend putting your text in a table for the best experience. With the …
From support.microsoft.com

Select these cells and go to Insert > Table to create a table. Add a header column if desired. Note: While creating a table isn’t required, we recommend putting your text in a table for the best experience. With the …»>
See details


CREATE CUSTOM MENUS AND SHORTCUT MENUS BY USING …

create-custom-menus-and-shortcut-menus-by-using image

WebClick File > Options. In the Access Options dialog box, click Current Database. Under Ribbon and Toolbar Options, in the Shortcut Menu Bar box, type the name of the macro that you created in Step 2 (in this …
From support.microsoft.com

Click File > Options. In the Access Options dialog box, click Current Database. Under Ribbon and Toolbar Options, in the Shortcut Menu Bar box, type the name of the macro that you created in Step 2 (in this …»>
See details


MAKE YOUR OWN GUI(GRAPHICAL USER INTERFACE) WITHOUT …

WebJust open Microsoft Excel. Press» Alt + F11 » that will open a Visual Basic window. Select UserForm from Insert menu. That will open a User form window like above Add Tip Ask …
From instructables.com
Estimated Reading Time 5 mins

Just open Microsoft Excel. Press» Alt + F11 » that will open a Visual Basic window. Select UserForm from Insert menu. That will open a User form window like above Add Tip Ask …»>
See details


PYTHON — HOW TO CREATE A SIMPLE GUI FOR TAKING 2 EXCEL FILES AND …

WebMay 4, 2020 import PySimpleGUI as sg sg.theme (‘Light Blue 2’) layout = [ [sg.Text (‘Enter 2 files to comare’)], [sg.Text (‘File 1′, size= (8, 1)), sg.Input (key=’Input_1’), sg.FileBrowse …
From stackoverflow.com

May 4, 2020 import PySimpleGUI as sg sg.theme (‘Light Blue 2’) layout = [ [sg.Text (‘Enter 2 files to comare’)], [sg.Text (‘File 1′, size= (8, 1)), sg.Input (key=’Input_1’), sg.FileBrowse …»>
See details


PYTHON 101 – HOW TO CREATE A GRAPHICAL USER INTERFACE

WebSep 29, 2021 Go ahead and create a new file named hello_wx.py and add this code to it: # hello_wx.py import wx app = wx.App(False) frame = wx.Frame(parent=None, title=’Hello …
From blog.pythonlibrary.org

Sep 29, 2021 Go ahead and create a new file named hello_wx.py and add this code to it: # hello_wx.py import wx app = wx.App(False) frame = wx.Frame(parent=None, title=’Hello …»>
See details


ADD CUSTOM UI TO A SPREADSHEET DOCUMENT (OPEN XML SDK)

WebApr 4, 2022 Create a new workbook. Press Alt+F11 to open the Visual Basic Editor. On the Insert tab, click Module to create a new module. Add code such as the following to …
From learn.microsoft.com

Apr 4, 2022 Create a new workbook. Press Alt+F11 to open the Visual Basic Editor. On the Insert tab, click Module to create a new module. Add code such as the following to …»>
See details


IS IT POSSIBLE TO PUT A CUSTOM GUI ON TOP OF AN EXCEL …

WebCode your GUI with WinForms/WPF and .NET; invoke excel in the background to be your calculation engine. Pretty ugly (and probably slow) solution, though. Share Follow …
From stackoverflow.com

Code your GUI with WinForms/WPF and .NET; invoke excel in the background to be your calculation engine. Pretty ugly (and probably slow) solution, though. Share Follow …»>
See details


MICROSOFT EXCEL: SIMPLE GUI IN VBA — STACK OVERFLOW

WebJun 13, 2014 Create a new User Form. Add a text box. Add a button. Double click on the button and you will automatically be taken to something called «Private Sub …
From stackoverflow.com

Jun 13, 2014 Create a new User Form. Add a text box. Add a button. Double click on the button and you will automatically be taken to something called «Private Sub …»>
See details


HOW TO CREATE A GUI USING PYTHON TO TAKE USER INPUT AND INSERT IT …

WebNov 27, 2019 1 Answer Sorted by: 3 You can create GUI using python tkinter, you can also create input fields using this library and accept the entered value. After this you can …
From stackoverflow.com

Nov 27, 2019 1 Answer Sorted by: 3 You can create GUI using python tkinter, you can also create input fields using this library and accept the entered value. After this you can …»>
See details


HOW TO CREATE EXCEL GUI (NO CODE) OR PYTHON GUI (6 LINES

WebJul 16, 2018 How to Create Excel GUI (no code) or Python GUI (6 lines) Windows desktop apps using Virtual Forms! Virtual Forms — Excel Database Forms 1.14K …
From youtube.com

Jul 16, 2018 How to Create Excel GUI (no code) or Python GUI (6 lines) Windows desktop apps using Virtual Forms! Virtual Forms — Excel Database Forms 1.14K …»>
See details


HOW TO MAKE A GUI INTERFACE FOR AN EXCEL WORKBOOK

WebFeb 27, 2014 How to make a Gui interface for an excel workbook GRODZ Feb 27, 2014 G GRODZ New Member Feb 27, 2014 #1 I work with an excel spread sheet that has 19 …
From chandoo.org

Feb 27, 2014 How to make a Gui interface for an excel workbook GRODZ Feb 27, 2014 G GRODZ New Member Feb 27, 2014 #1 I work with an excel spread sheet that has 19 …»>
See details


HOW TO CREATE USER FORMS USING VBA IN EXCEL | CODEMENTOR

WebDec 22, 2016 Go to File (top left of Excel). Select «Options» at the bottom. Select Customize Ribbon in the Excel Options window. Under Main Tabs, check the Developer …
From codementor.io

Dec 22, 2016 Go to File (top left of Excel). Select «Options» at the bottom. Select Customize Ribbon in the Excel Options window. Under Main Tabs, check the Developer …»>
See details


MAKING A WEB-BASED INTERFACE FOR A WORKBOOK IN EXCEL

WebFeb 3, 2017 I’d like to explain that macro doesn’t work in Excel Online, so it also doesn’t work in the Excel Access Part in SharePoint Online. For your reference: Work …
From answers.microsoft.com

Feb 3, 2017 I’d like to explain that macro doesn’t work in Excel Online, so it also doesn’t work in the Excel Access Part in SharePoint Online. For your reference: Work …»>
See details


import pandas as pd

from tkinter import *

from tkinter import filedialog

from tkinter import messagebox as msg

from pandastable import Table

from tkintertable import TableCanvas

class csv_to_excel:

    def __init__(self, root):

        self.root = root

        self.file_name = ''

        self.f = Frame(self.root,

                       height = 200,

                       width = 300)

        self.f.pack()

        self.message_label = Label(self.f,

                                   text = 'GeeksForGeeks',

                                   font = ('Arial', 19,'underline'),

                                   fg = 'Green')

        self.message_label2 = Label(self.f,

                                    text = 'Converter of CSV to Excel file',

                                    font = ('Arial', 14,'underline'),

                                    fg = 'Red')

        self.convert_button = Button(self.f,

                                     text = 'Convert',

                                     font = ('Arial', 14),

                                     bg = 'Orange',

                                     fg = 'Black',

                                     command = self.convert_csv_to_xls)

        self.display_button = Button(self.f,

                                     text = 'Display',

                                     font = ('Arial', 14), 

                                     bg = 'Green',

                                     fg = 'Black',

                                     command = self.display_xls_file)

        self.exit_button = Button(self.f,

                                  text = 'Exit',

                                  font = ('Arial', 14),

                                  bg = 'Red',

                                  fg = 'Black'

                                  command = root.destroy)

        self.message_label.grid(row = 1, column = 1)

        self.message_label2.grid(row = 2, column = 1)

        self.convert_button.grid(row = 3, column = 0,

                                 padx = 0, pady = 15)

        self.display_button.grid(row = 3, column = 1

                                 padx = 10, pady = 15)

        self.exit_button.grid(row = 3, column = 2,

                              padx = 10, pady = 15)

    def convert_csv_to_xls(self):

        try:

            self.file_name = filedialog.askopenfilename(initialdir = '/Desktop',

                                                        title = 'Select a CSV file',

                                                        filetypes = (('csv file','*.csv'),

                                                                     ('csv file','*.csv')))

            df = pd.read_csv(self.file_name)

            if(len(df) == 0):      

                msg.showinfo('No Rows Selected', 'CSV has no rows')

            else:

                with pd.ExcelWriter('GeeksForGeeks.xls') as writer:

                        df.to_excel(writer,'GFGSheet')

                        writer.save()

                        msg.showinfo('Excel file created', 'Excel File created')     

        except FileNotFoundError as e:

                msg.showerror('Error in opening file', e)

    def display_xls_file(self):

        try:

            self.file_name = filedialog.askopenfilename(initialdir = '/Desktop',

                                                        title = 'Select a excel file',

                                                        filetypes = (('excel file','*.xls'),

                                                                     ('excel file','*.xls')))

            df = pd.read_excel(self.file_name)

            if (len(df)== 0):

                msg.showinfo('No records', 'No records')

            else:

                pass

            self.f2 = Frame(self.root, height=200, width=300

            self.f2.pack(fill=BOTH,expand=1)

            self.table = Table(self.f2, dataframe=df,read_only=True)

            self.table.show()

        except FileNotFoundError as e:

            print(e)

            msg.showerror('Error in opening file',e)

root = Tk()

root.title('GFG---Convert CSV to Excel File')

obj = csv_to_excel(root)

root.geometry('800x600')

root.mainloop()

Содержание

  1. Общая информация
  2. Лента
  3. Создание пользовательской формы
  4. Элементы управления в панели инструментов
  5. Элементы управления формой
  6. Элементы управления ActiveX
  7. Пример
  8. Переключатели
  9. Поле со списком
  10. Список
  11. Счётчик
  12. Встроенный объект для ввода данных Excel
  13. Как в Excel нарисовать линию
  14. Как в Excel нарисовать стрелку
  15. Изображения
  16. Значки
  17. Трехмерные модели
  18. Рисование
  19. Панель быстрого доступа

Общая информация

Интерфейс Excel 2010 является дальнейшим развитием пользовательского интерфейса, который впервые был использован в выпуске системы Microsoft Office 2007. При создании интерфейса разработчиками была поставлена задача: сделать основные приложения Microsoft Office удобнее в работе. В результате был создан пользовательский интерфейс Microsoft Office Fluent, который упрощает для пользователей работу с приложениями Microsoft Office и дает возможность быстрее получать лучшие результаты.

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

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

Лента

Главный элемент пользовательского интерфейса Microsoft Excel 2010 представляет собой ленту, которая идет вдоль верхней части окна каждого приложения, вместо традиционных меню и панелей инструментов (рис. 1.1).

Рис. 1.1. Лента

С помощью ленты можно быстро находить необходимые команды (элементы управления: кнопки, раскрывающиеся списки, счетчики, флажки и т.п.). Команды упорядочены в логические группы, собранные на вкладках.

Заменить ленту панелями инструментов или меню предыдущих версий приложения Microsoft Excel нельзя.

Удалить ленту также нельзя. Однако, чтобы увеличить рабочую область, ленту можно скрыть (свернуть).

  1. Нажмите кнопку Свернуть ленту, расположенную в правой части линии названий вкладок (рис. 1.2).

    Рис. 1.2. Сворачивание ленты

  2. Лента будет скрыта, названия вкладок останутся (рис. 1.3).

    Рис. 1.3. Окно со свернутой лентой

Ленту можно свернуть и иначе.

  1. Щелкните правой кнопкой мыши в любом месте ленты (см. рис. 1.2 ).
  2. В контекстном меню выберите команду Свернуть ленту.

Для использования ленты в свернутом состоянии щелкните по названию нужной вкладки, а затем выберите параметр или команду, которую следует использовать. Например, при свернутой вкладке можно выделить текст в документе Excel, щелкнуть вкладку Главная и в группе Шрифт выбрать нужный размер шрифта. После выбора размера шрифта лента снова свернется.

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

Чтобы свернуть или восстановить ленту, можно также нажать комбинацию клавиш Ctrl + F1.

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

Рис. 1.4. Отображение ленты вкладки Главная при ширине окна 1024 точки

Рис. 1.5. Отображение ленты вкладки Главная при ширине окна 800 точек

Создание пользовательской формы

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

  • Нажмите вкладку РАЗРАБОТЧИК на ленте.
  • Нажмите Visual Basic. Откроется окно Visual Basic для книги.
  • Нажмите Вставить,
  • Выберите UserForm из выпадающего списка.

Пользовательская форма появляется в правой части окна.

Элементы управления в панели инструментов

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

Excel предоставляет два типа элементов управления – элементы управления формы и элементы управления ActiveX. Вы должны понимать разницу между этими двумя типами элементов управления.

Элементы управления формой

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

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

Элементы управления ActiveX

Элементы управления ActiveX могут использоваться в пользовательских формах VBA. Элементы управления ActiveX имеют широкие свойства, которые можно использовать для настройки их внешнего вида, поведения, шрифтов и других характеристик.

У вас есть следующие элементы управления ActiveX в UserForm ToolBox –

  • Указатель
  • этикетка
  • Текстовое окно
  • Поле со списком
  • ListBox
  • CheckBox
  • OptionButton
  • Рамка
  • Кнопка-переключатель
  • CommandButton
  • TabStrip
  • MultiPage
  • Полоса прокрутки
  • в полях ввода
  • Образ

В дополнение к этим элементам управления Visual Basic предоставляет функцию MsgBox, которую можно использовать для отображения сообщений и / или запроса пользователя о действии.

В следующих нескольких разделах вы поймете эти элементы управления и MsgBox. Затем вы сможете выбрать, какой из этих элементов управления требуется для разработки пользовательской формы.

Пример

Разберем конкретный пример применения сразу нескольких Элементов управления. В файле примера с помощью элементов управления показано как пользователь может отредактировать значения в таблице (диапазон F9:K12 ).

С помощью одного из 3-х элементов управления Поле со списком, Список и Счетчик , пользователь может выбрать столбец таблицы (год) . Нужный элемент управления выбирается с помощью группы Переключателей . Название выбранного элемента подсвечивается серым цветом (см. A8:B8 на рис. выше). Выбранный год выделяется в таблице Условным форматированием темно серым цветом (см. H9 :H12 на рис. выше). Отображение этого выделения регулируется Флажком (фон флажка – красный). Полосами прокрутки можно редактировать Цену и Количество в выбранном году, но только в определенном диапазоне.

Переключатели

На листе использовано 3 Переключателя объединенных в Группу . Каждому Переключателю соответствует определенный элемент управления: Поле со списком, Список, Счетчик .

Для объединения Элементов в группу помещаем на лист Элемент управления Группа (через меню ). В рамках группы создаем 3 переключателя (также через меню ) и связываем их все с одной ячейкой С2 (выделив элемент управления, правой клавишей вызываем контекстное меню, Формат объекта …, вкладка Элемент управления ).

Удерживая клавишу CTRL выделяем 3 переключателя и элемент Группа , вызываем правой клавишей мыши контекстное меню и выбираем . Теперь при выборе одного из трех Переключателей в Группе , в ячейке С2 будет выводиться значение 1, 2 или 3.

Поле со списком

Теперь вставим элемент управления Поле со списком . Вставить элемент можно через меню: . В ячейках столбца М введем несколько значений лет: 2009, 2010, 2011, 2012, 2013. Эти значения будут использованы в элементе Поле со списком .

Создадим Именованный диапазон Список .

  • выделяем диапазон М9:М12
  • нажимаем

Рассмотрим создание
интерфейса пользователя на простом
примере. Пусть на листе Excel
размещены столбцы чисел. Требуется,
чтобы проектируемое приложение позволяло
пользователю выбрать столбец для
сортировки, выбрать вариант сортировки
(по возрастанию или по убыванию) и,
наконец, выполнить саму сортировку. Из
поставленной задачи следует, что наше
приложение надо “оснастить” элементами
управления (см. подраздел 2.2) для выбора
номера столбца (поле во взаимосвязи
со счетчиком), варианта сортировки
(переключатели) и для запуска
событийной процедуры сортировки
(командная кнопка). С помощью VBA
эти элементы управления можно разместить
или прямо на листе Excel
(рис. 10.1), или же на диалоговой форме,
которая будет появляться в диалоговом
окне (поверх листа Excel)
при нажатии на кнопку Сортировать
– кнопку целесообразно оставить на
листе Excel и в этом случае.
Рассмотрим первый вариант.

С помощью пункта
меню Вид/Панели инструментов/Visual
Basic разместим панель
инструментов VBA рядом с
другими панелями инструментов Excel
(см. рис.10.1). На этой панели нас будут
интересовать два значка: Элементы
управления
(значок в виде молоточков)
и Редактор Visual
Basic (соседний слева).
Второй значок нам понадобится позже,
во время разработки процедур, для
переключения на окно редактора. А нажатие
на кнопку с первым значком приведет к
появлению в пределах листа Excel
окна, содержащего палитру элементов
управления (на рис. 10.1 – справа) и три
кнопки: Режим конструктора, Свойства
и Исходный текст.

Первая из этих
кнопок позволяет перейти в режим
конструктора. В этом режиме работа
пользователя с таблицей Excel
блокируется, но есть возможность
создавать приложение VBA.
Вторая кнопка позволяет открыть окно
Свойства – оно показано на рисунке
для счетчика, имеющего имя SpinButton1
(он выделен щелчком мыши). Третья кнопка
позволяет переключиться в окно редактора,
причем именно на процедуру обработки
события, связанного с выделенным
элементом управления – на рис.10.2 это
событийная процедура, срабатывающая в
тот момент, когда пользователь изменяет
значение счетчика.

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

  • Надпись
    со статическим текстом
    , для которой
    установлено свойство Caption
    (Заголовок) – Номер столбца;

  • поле,
    для которого установлено свойство
    Value (Значение) – 1;
    если пользователь не изменит это
    значение, то сортироваться будет первый
    столбец;

  • счетчик;
    для него установлены свойства Min=1,
    Max=100, Value=1;

  • переключатели,
    для которых установлены свойства
    Caption и Value;
    у одного из переключателей заголовок
    По возрастанию, а у второго – По
    убыванию
    ; у одного свойство Value=True
    (истина – истинным считается утверждение
    о выборе этого переключателя), у второго
    Value=False
    (ложь);

  • командная
    кнопка
    ; для нее установлено свойство
    Caption=Сортировать.

Каждому элементу
управления VBA присваивает
имя по умолчанию. Например, первому
переключателю – OptionButton1,
второму – OptionButton2, счетчику –
SpinButton1, т.е. берется
английское название элемента, и к нему
присоединяется порядковый номер. Имя
можно изменить, как всякое свойство
объекта. Например, переключатели можно
назвать короче: Option1,
Option2. Имена
элементов управления участвуют в
образовании имен событийных процедур.
Так, при двойном щелчке мышью по элементу
SpinButton1 произойдет
переключение на окно Visual
Basic (Рис. 10.2), в котором
автоматически появится пустая событийная
процедура:

Private Sub
SpinButton1_Change( )

End Sub

Правила записи
процедур мы рассмотрим в следующих
подразделах. Сейчас важно понять, что
процедура SpinButton1_Change
будет автоматически выполняться, как
только пользователь изменит значение
счетчика (Change – изменять).

Панель
инструментов

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

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

0 / 0 / 2

Регистрация: 05.01.2018

Сообщений: 57

1

Создание графического интерфейса пользователя

15.04.2018, 12:59. Показов 5716. Ответов 4


Студворк — интернет-сервис помощи студентам

Здравствуйте. Столкнулся с тяжелой проблемой((
Я ничего не понимаю в VBA, но задание сделать нужно.

Работа должна быть выполнена в Excel.
ЗАДАНИЕ
Согласно заданию из таблицы создать форму для ввода данных и вывода расчетных данных.
Таблица и пример прикреплены в фото.

• На форме создать:
1. элемент управления CommandButton для расчета и ввода даных на лист робочей книги;
2. элемент управления CommandButton для очистки соответствующих элементов управления для ввода новых даных;
3. элемент управления ListBox для отображения и ввода названия продукта или услуги (список значений формируется во время загрузки формы);
4. элемент управления TextBox для ввода даных;
5. элемент управления Label для отображения надписей около соответствующих текстовых полей;

Примечание. Поле стоимость рассчитать по формуле Стоимость=Кол-во*Цена.

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

Миниатюры

Создание графического интерфейса пользователя
 

Создание графического интерфейса пользователя
 



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

15.04.2018, 13:46

2

Я ничего не понимаю в VBA

Не по теме:

Скажи это в деканате!
Ты зачем поступал? Учиться? Так учись!
Так VBA можно заменить на любой предмет: математика, физика, химия, сопромат…..
И везде за тебя кто-то будет выполнять задание?

тебе даже это не под силу? «нарисовать» на форме объекты?!
Бросай на фиг этот ВУЗ! В армии научат!



0



0 / 0 / 2

Регистрация: 05.01.2018

Сообщений: 57

15.04.2018, 13:50

 [ТС]

3

Я студент, а препод попался настолько хитрый, что лекции у нас минимально информативные, но на сдачи Лабораторных работ либо сдавай, либо плати. Денег нет. Потому я и здесь
И по другим предметам у меня Отлично. И ДА, НЕ МОГУ, дайте хотя бы материалы, где мне найти то, что мне нужно?



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

15.04.2018, 14:08

4



1



GEORGE001

0 / 0 / 2

Регистрация: 05.01.2018

Сообщений: 57

16.04.2018, 00:30

 [ТС]

5

Посидел, разобрался, более-менее. Осмелюсь спросить вас, где ошибка?
Попробую объяснить в чем проблема.
Есть таблица из которой должны браться данные. После заполнения формы, они должны выводиться на Листе 2. Но они выводятся не корректно. Выводиться только значение листбокса, может я упустил что-то?.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Private Sub ClearButton_Click() 'кнопка для очистки
    Kolv = " "
    Cost = " "
    Vart = " "
End Sub
 
Private Sub CommandButton1_Click() 'кнопка рассчета
Dim lastrow, count
lastrow = Лист2.Cells(Rows.count, 3).End(xlUp).Row 'остання заповнена строчка
lastrow = lastrow + 1 'остання пуста строчка
Cells(lastrow, 2) = ListBox1.Text
count = 0
For i = 2 To lastrow
    If ListBox1 = Cells(i, 2) Then  'перевіряє чи правильно заповнена форма
    count = count + 1
    End If
    
    If count = 1 Then
        Cells(lastrow, 1) = lastrow - 1
        Cells(lastrow, 2) = ListBox1.Text
        Cells(lastrow, 3) = TextBox1.Value   'заповнення
        Cells(lastrow, 4) = TextBox2.Value
        Cells(lastrow, 5) = TextBox3.Value
        TextBox1 = ""
        TextBox2 = ""
        TextBox3 = ""
    End If
Next
 
End Sub
 
Private Sub UserForm_Click()
    ListBox1.List = Range("Лист1!B2:B6").Value 'инициализация листбокса
End Sub
 
Private Sub Cost_AfterUpdate()
    Vart = Cost.Value * Kolv.Value 'рассчет суммы
End Sub

Добавлено через 19 минут
В выводе неправильно указал Имена полей
Не TextBox1, a Kolv и т.д.



0



Everybody in this country should learn how to program a computer... because it teaches you how to think." -Steve Jobs

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

В этом уроке мы рассмотрим следующие темы.

  • Что такое VBA?
  • Почему VBA?
  • Личные и бизнес приложения VBA в Excel
  • Visual Basic для приложений Основы VBA
  • Пошаговый пример создания простого калькулятора электромагнитных помех в Excel

Что такое VBA?

VBA означает Visual Basic для приложений . Прежде чем мы углубимся в детали, давайте посмотрим, что такое компьютерное программирование на языке неспециалиста. Предположим, у вас есть горничная. Если вы хотите, чтобы горничная убиралась в доме и стирала. Вы говорите ей, что делать, скажем, на английском, и она сделает всю работу за вас. Работая с компьютером, вы захотите выполнить определенные задачи. Точно так же, как вы сказали горничной делать домашние дела, вы также можете сказать компьютеру, чтобы он выполнял задачи за вас.

Процесс сообщения компьютеру о том, что вы хотите, чтобы он делал для вас, называется компьютерным программированием. Точно так же, как вы использовали английский, чтобы сказать горничной, что делать, вы также можете использовать английские операторы, чтобы сказать компьютеру, что делать. Заявления, подобные английскому, относятся к категории языков высокого уровня. VBA – это язык высокого уровня, который вы можете использовать, чтобы превзойти свою мощь.

VBA на самом деле к югу набор Visual Basic 6.0 BASIC означает B eginners LL-Purpose S при ymbolic I nstruction C ода.


Почему VBA?

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

Личные и бизнес приложения VBA в Excel

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

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

Visual Basic для приложений Основы VBA

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

  • Переменная – в старших классах мы узнали об алгебре. Найдите (x + 2y), где x = 1 и y = 3. В этом выражении x и y являются переменными. Им могут быть назначены любые номера, то есть 1 и 3 соответственно, как в этом примере. Они также могут быть изменены, чтобы сказать 4 и 2 соответственно. Короче говоря, переменные являются ячейками памяти. Поскольку вы работаете с VBA, вам потребуется также объявлять переменные, как в классах алгебры.
  • Правила создания переменных

    • Не используйте зарезервированные слова – если вы работаете студентом, вы не можете использовать титул лектора или директора. Эти названия зарезервированы для преподавателей и администрации школы. Зарезервированные слова – это те слова, которые имеют особое значение в Vba, и поэтому их нельзя использовать в качестве имен переменных.
    • Имена переменных не могут содержать пробелов – вы не можете определить переменную с именем first number. Вы можете использовать firstNumber или first_number.
    • Используйте описательные имена – очень заманчиво назвать переменную после себя, но избегайте этого. Используйте описательные имена, например количество, цену, промежуточную сумму и т. Д., Чтобы ваш код VBA был легко читаем
  • Арифметические операторы. Применяются правила сложения и вычитания в скобках деления умножения (BODMAS), поэтому не забывайте применять их при работе с выражениями, использующими несколько различных арифметических операторов. Как и в Excel, вы можете использовать

    • + для дополнения
    • – для вычитания
    • * для умножения
    • / для деления.
  • Логические операторы. Концепция логических операторов, описанная в предыдущих руководствах, также применяется при работе с VBA. К ним относятся

    • Если заявления
    • ИЛИ
    • НЕ
    • А ТАКЖЕ
    • ПРАВДА
    • ЛОЖНЫЙ

Включить опцию разработчика

  • Создать новую рабочую книгу
  • Click on the ribbon start button
  • Select options
  • Click on customize ribbon
  • Select the developer checkbox as shown in the image below
  • Click OK

Введение в макросы в Excel

You will now be able to see the DEVELOPER tab in the ribbon

VBA Hello world

Now we will demonstrate how to program in VBA. All program in VBA has to start with “Sub” and end with “End sub”. Here the name is the name you want to assign to your program. While sub stands for a subroutine which we will learn in the later part of the tutorial.

Sub name()
.
.
. 
End Sub

We will create a basic VBA program that displays an input box to ask for the user’s name then display a greeting message

This tutorial assumes you have completed the tutorial on Macros in excel and have enabled the DEVELOPER tab in excel.

  • Create a new work book
  • Save it in an excel macro enabled worksheet format *.xlsm
  • Нажмите на вкладку РАЗРАБОТЧИК
  • Нажмите на раскрывающийся список INSERT под панелью управления
  • Выберите командную кнопку, как показано на рисунке ниже

Создание вашего первого Visual Basic для приложений (VBA) в Excel

Нарисуйте командную кнопку в любом месте листа

Вы получите следующее диалоговое окно

Создание вашего первого Visual Basic для приложений (VBA) в Excel

  • Переименуйте имя макроса в btnHelloWorld_Click
  • Нажмите на новую кнопку
  • Вы получите следующее окно кода

Создание вашего первого Visual Basic для приложений (VBA) в Excel

Введите следующие коды инструкций

Dim name As String
name = InputBox("Enter your name")
MsgBox "Hello " + name

ВОТ,

  • «Dim name as String» создает переменную с именем name. Переменная будет принимать текстовые, числовые и другие символы, потому что мы определили ее как строку
  • «name = InputBox (« Введите ваше имя »)» вызывает встроенную функцию InputBox, которая отображает окно с заголовком «Введите ваше имя». Введенное имя затем сохраняется в переменной имени.
  • MsgBox” Hello “+ name” вызывает встроенную функцию MsgBox, которая отображает Hello и введенное имя.

Ваше полное окно кода теперь должно выглядеть следующим образом

Создание вашего первого Visual Basic для приложений (VBA) в Excel

  • Закройте окно кода
  • Щелкните правой кнопкой мыши на кнопке 1 и выберите редактировать текст
  • Войти Скажи привет

Создание вашего первого Visual Basic для приложений (VBA) в Excel

  • Нажмите на Скажи привет
  • Вы получите следующее поле ввода

Создание вашего первого Visual Basic для приложений (VBA) в Excel

  • Введите свое имя т.е. Иордания
  • Вы получите следующее окно сообщения

Создание вашего первого Visual Basic для приложений (VBA) в Excel

Поздравляем, вы только что создали свою первую программу VBA в Excel

Пошаговый пример создания простого калькулятора электромагнитных помех в Excel

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

Создание вашего первого Visual Basic для приложений (VBA) в Excel

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

Функция PMT работает следующим образом

=PMT(rate,nper,pv)

ВОТ,

  • «Оценить» это месячная ставка. Это процентная ставка, деленная на количество платежей в год
  • «nper» – это общее количество платежей. Это срок кредита, умноженный на количество платежей в год
  • «pv» текущая стоимость. Это фактическая сумма кредита

Создайте графический интерфейс с использованием ячеек Excel, как показано ниже

Создание вашего первого Visual Basic для приложений (VBA) в Excel

Добавьте командную кнопку между строками 7 и 8

Дайте кнопке имя макроса btnCalculateEMI_Click

Нажмите на кнопку редактирования

Введите следующий код

Dim monthly_rate As Single, loan_amount As Double, number_of_periods As Single, emi As Double
monthly_rate = Range("B6").Value / Range("B5").Value
loan_amount = Range("B3").Value
number_of_periods = Range("B4").Value * Range("B5").Value 
emi = WorksheetFunction.Pmt(monthly_rate, number_of_periods, -loan_amount)
Range("B9").Value = emi

ВОТ,

  • «Dim month_rate As Single,…» Dim – это ключевое слово, которое используется для определения переменных в VBA, month_rate – имя переменной, Single – тип данных, который означает, что переменная будет принимать число.
  • “month_rate = Range (” B6 “). Value / Range (” B5 “). Value” Range – это функция, используемая для доступа к ячейкам Excel из VBA, Range (“B6”). Значение ссылается на значение в B6
  • «WorksheetFunction.Pmt (…)» WorksheetFunction – это функция, используемая для доступа ко всем функциям в Excel.

На следующем рисунке показан полный исходный код

Создание вашего первого Visual Basic для приложений (VBA) в Excel

  • Нажмите на сохранить и закройте окно кода
  • Протестируйте свою программу, как показано на анимированном изображении ниже

Создание вашего первого Visual Basic для приложений (VBA) в Excel

Пример 2

Шаг 1) На вкладке «Разработчик» в главном меню щелкните значок «Visual Basic», чтобы открыть редактор VBA.

Что такое VBA?

Шаг 2) Откроется редактор VBA, из которого вы можете выбрать лист Excel, в котором вы хотите запустить код. Чтобы открыть редактор VBA, дважды щелкните по листу.

Что такое VBA?

Понравилась статья? Поделить с друзьями:
  • Как создать графический заголовок в ms word
  • Как создать графический документ в word
  • Как создать графические объекты в word
  • Как создать графики в word excel
  • Как создать график функции средствами excel