Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/79: Рейтинг темы: голосов - 79, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21

4-е макроса которые бы меняли формат ячейки на денежный – рубли, доллары, английские фунты и евро

03.03.2011, 17:59. Показов 17101. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть в том, что осталась последняя пресдача, есть задачи и есть решение на них, нужно помочь объяснить само решение, помогите кто чем может, или в асю напишите 401996793, заранее спасибо

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

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub menu()
Set myMenuBar = CommandBars.ActiveMenuBar
Set newMenu = myMenuBar.Controls.Add(Type:=msoCon trolPopup, Temporary:=True)
newMenu.Caption = "Формат ячеек"
Set dm = newMenu.Controls.Add(Type:=msoContr olButton)
dm.OnAction = "Макрос1"
dm.Caption = "Рубли"
Set nm = newMenu.Controls.Add(Type:=msoContr olButton)
nm.OnAction = "Макрос2"
nm.Caption = "Доллар"
Set lm = newMenu.Controls.Add(Type:=msoContr olButton)
lm.OnAction = "Макрос3"
lm.Caption = "Английский фунт"
Set km = newMenu.Controls.Add(Type:=msoContr olButton)
km.OnAction = "Макрос4"
km.Caption = "Евро"
End Sub

Воспользовавшись функциями MsgBox и InputBox задайте пользователю следующие вопросы
Фамилия Имя
Год рождения
Образование
Пол
Семейное положение
Ответы занесите в таблицу расположенную в Excel.


Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub stdial2()
For i = 1 To 2
Cells(i + 1, 1).Value = InputBox("Введите свою фамилию")
Cells(i + 1, 2).Value = InputBox("Введите свое имя")
Cells(i + 1, 3).Value = InputBox("Введите год рождения")
Cells(i + 1, 4).Value = InputBox("Какое у вас образование?")
Cells(i + 1, 5).Value = InputBox("Ваш пол?")
Cells(i + 1, 6).Value = InputBox("Ваше семейное положение")
Next i
End Sub
. С помощью функции MsgBox задайте пользователю 5-ть вопросов с возможностью ответа Да/Нет/Отмена. После 5-ого вопроса выдайте сколько было ответов Да, сколько Нет, сколько Отмена.
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
Sub stdial3()
da = 0
net = 0
otm = 0
c = MsgBox("Отформатировать текст?", vbYesNoCancel)
If c = vbYes Then da = da + 1
If c = vbNo Then net = net + 1
If c = vbCancel Then otm = otm + 1
c = MsgBox(" Увеличить шрифт?", vbYesNoCancel)
If c = vbYes Then da = da + 1
If c = vbNo Then net = net + 1
If c = vbCancel Then otm = otm + 1
c = MsgBox("Удалить файл?", vbYesNoCancel)
If c = vbYes Then da = da + 1
If c = vbNo Then net = net + 1
If c = vbCancel Then otm = otm + 1
c = MsgBox("Сделать копию документа?", vbYesNoCancel)
If c = vbYes Then da = da + 1
If c = vbNo Then net = net + 1
If c = vbCancel Then otm = otm + 1
c = MsgBox("Открыть документ?", vbYesNoCancel)
If c = vbYes Then da = da + 1
If c = vbNo Then net = net + 1
If c = vbCancel Then otm = otm + 1
MsgBox ("Да=" & da & " Нет=" & net & " Отмена=" & otm & " ")
End Sub
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2011, 17:59
Ответы с готовыми решениями:

Из рубли в доллары и евро
Составить алгоритм пересчета суммы денег в рублях в доллары и евро.

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

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

41
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
03.03.2011, 22:24  [ТС]
Студворк — интернет-сервис помощи студентам
Busine2009, Я вас плохо понимаю, дело в том что я с информатикой в плохих отношениях.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
03.03.2011, 22:28
Вот это удалите:
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 04.03.2011 (sleiter)
'

'
ActiveCell.FormulaR1C1 = "а"
Range("A2").Select
End Sub

и вставьте вот это:
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
39
Sub menu()
'С помощью инструмента Set помещаем в переменную myMenuBar панель меню Excel
'(вторая сверху строка в Excel), там где Файл, Правка и т.д.
'Будем воздействовать на эту панель меню через переменную myMenuBar.
'Панель меню включает в себя следующие меню: Файл, Правка и т.д.
Set myMenuBar = CommandBars.ActiveMenuBar
'Добавление на панель меню нового меню и помещение этого нового менею в переменную newMenu.
Set newMenu = myMenuBar.Controls.Add(Type:=msoControlPopup, Temporary:=True)
'Создание названия для нового меню.
newMenu.Caption = "Формат ячеек"
'Добавление на новое меню кнопки и помещение этой кнопки в переменную dm.
Set dm = newMenu.Controls.Add(Type:=msoControlButton)
'Присваиваем этой кнопке макрос, который должен выполняться при нажатии на неё.
dm.OnAction = "Макрос1"
'Создание названия кнопки.
dm.Caption = "Рубли"
Set nm = newMenu.Controls.Add(Type:=msoControlButton)
nm.OnAction = "Макрос2"
nm.Caption = "Доллар"
Set lm = newMenu.Controls.Add(Type:=msoControlButton)
lm.OnAction = "Макрос3"
lm.Caption = "Английский фунт"
Set km = newMenu.Controls.Add(Type:=msoControlButton)
km.OnAction = "Макрос4"
km.Caption = "Евро"
End Sub
Sub Макрос1()
    'Изменение формата выделенных ячеек.
    Selection.NumberFormat = "#,##0.00$"
End Sub
Sub Макрос2()
    Selection.NumberFormat = "[$$-409]#,##0.00"
End Sub
Sub Макрос3()
    Selection.NumberFormat = "[$?-809]#,##0.00"
End Sub
Sub Макрос4()
    Selection.NumberFormat = "[$?-2] #,##0.00"
End Sub
1
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
03.03.2011, 22:46  [ТС]
сделано

Добавлено через 15 минут
я пробывал до этого, макрос не работал и сейчас не работает
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
03.03.2011, 22:49
Sleier,
в чём выражается его неработоспособность?
1
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
03.03.2011, 22:54  [ТС]
Busine2009, Создайте новое меню с соответствующими пунктами. При выборе пользователем пункта вашего меню ячейка должна форматироваться в нужный денежный формат.как сделать это?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
03.03.2011, 23:02
Sleier,
код запускали? После запуска кода на Панели меню в самом конце появится новое меню Формат ячеек.
0
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
03.03.2011, 23:12  [ТС]
Busine2009, расскажите, как вставить макрос в модуль?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
03.03.2011, 23:16
Sleier,
удалите все модули из PERSONAL.XLS (для этого щ. по Module правой кн. мыши - Remove module.. - Нет) - щ. правой кн. мыши по PERSONAL.XLS - Insert - Module - появится Module1 - щ. по нему 2 раза левой кн. мыши - справа будет место для вставки кода.
Просто скопируйте код из форума и вставьте туда. Затем вставьте курсор в любое место кода и нажмите на стрелку на панели инструментов (Run Sub/UserForm).
Нажмите ещё сохранить, чтобы сохранить.
0
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
03.03.2011, 23:22  [ТС]
Busine2009, .помогите с решение этой задачи
Создайте функцию пользователя для расчёта суммы платежа при следующих условиях: если сумма больше 1000, то применяется 5% скидка, если сумма платежа больше 3000, то применяется 7% скидка. Просчитайте с помощью этой функции несколько значений.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
03.03.2011, 23:31
Sleier,
сами начните делать, а я подскажу, что сделать.
0
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
03.03.2011, 23:33  [ТС]
Busine2009, Function f(s)
If s > 1000 And s <= 3000 Then
f = s - s * 0.05
End If
If s > 3000 Then
f = s - s * 0.07
End If
End Function

не работает
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
03.03.2011, 23:39
Sleier,
а в чём выражается неработоспособность?
0
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
04.03.2011, 00:01  [ТС]
Busine2009, нажимаю на треугольник вылажит окно Macros

Добавлено через 7 минут
выходит окно МАкрос*
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
04.03.2011, 00:01
Sleier,
чтобы использовать Function нужно сделать следующее:
перейдите в сам Excel - сделайте активной ту ячейку, где должен быть результат, - Вставка - Функция... - Категория: Определённые пользователем - выбираете свою функцию - OK - выбираете ячейку, для которой нужно подсчёт сделать - OK.
1
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
04.03.2011, 00:14  [ТС]
Busine2009, эту задачу, не знаю как начинать даже..

1.Создайте пользовательскую форму на форме расположите элемент управления TextBox и кнопку. Пользователь должен ввести в текстовое поле символьное выражение маленькими буквами на русском языке. По нажатии на кнопку все буквы заменяются на заглавные.
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
04.03.2011, 08:32
  1. Щ. правой кн. мыши по PERSONAL.XLS – Insert – UserForm. Появилась форма. Перетащете набор инструментов Tollbox вправо от формы (чтобы не мешал).
  2. Щ. левой кн. мыши по кнопке TextBox (всплывающая подсказка появится) – наведите курсор мыши на форму и, удерживая левую кнопку мыши, нарисуйте TextBox.
  3. Сделайте тоже самое для CommandButton. В результате на форме есть TextBox и кнопка.
  4. Щ. 2 раза левой кн. мыши по кнопке. Откроется код для формы.
  5. Там, где мигает курсор, вставьте вот этот код:
    Visual Basic
    1
    2
    
    ‘UCase – инструмент VBA, который превращает текст в прописной текст.
    TextBox1.Text = UCase(TextBox1.Text)
    В итоге должен получиться вот такой код:
    Visual Basic
    1
    2
    3
    
    Private Sub CommandButton1_Click()
    TextBox1.Text = UCase(TextBox1.Text)
    End Sub
  6. Вставьте курсор в любое место этого кода и нажмите стрелку на панели инструментов (Run Sub/UserForm)
1
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
04.03.2011, 09:22  [ТС]
Busine2009, а что означает вот это (TextBox1.Text)?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
04.03.2011, 09:23
Цитата Сообщение от Sleier Посмотреть сообщение
Busine2009, а что означает вот это (TextBox1.Text)?
TextBox - это TextBox,
Text - это текст, находящийся в TextBox.
1
0 / 0 / 0
Регистрация: 03.03.2011
Сообщений: 21
05.03.2011, 09:27  [ТС]
Busine2009, Cells(i + 1, 1).Value = InputBox("Введите свою фамилию") нужно дословна объяснить строку, помогите
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
05.03.2011, 09:37
Sleier,
Cells() - это одна ячейка Excel;
i+1 - это номер строки в Excel;
1 - первый столбец в Excel;
с помощью этой записи .Value обрабатываем данные в ячейке;
с помощью = помещаем в ячейку данные;
InputBox - это инструмент VBA для ввода в компьютер информации. В данном случае информацию вводим в конкретную ячейку;
("Введите свою фамилию") - текст, который находится в InputBox, описывающий, что нужно сделать пользователю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2011, 09:37

Конвертировать действительное число в денежный формат (рубли и монеты)
Создайте программу которая переводит введенное дробовое число в денежный формат (рубли и монеты). :wizard:

Как переделать программу таким образом, чтобы кассир могла выбирать одну из трех валют для расчета посетителя: евро, доллары США, рубли?
Переделайте программу таким образом, чтобы кассир могла выбирать одну из трех валют для расчета посетителя: евро, доллары США, рубли. Т.е....

Преобразовать дробное число в денежный формат (рубли и копейки) используя int и frac.
Преобразовать дробное число в денежный формат (рубли и копейки) используя int и frac.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru