Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2011, 17:52   #1
Sleier
Новичок
Джуниор
 
Регистрация: 03.03.2011
Сообщений: 2
По умолчанию РЕбята, спасайте, VBA...

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

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

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.


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-ого вопроса выдайте сколько было ответов Да, сколько Нет, сколько Отмена.
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
Sleier вне форума Ответить с цитированием
Старый 03.03.2011, 18:07   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

для первого задания вот такой вот ерунды не хватало:
Код:
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
и вот это замените
Код:
Sub stdial2()
Cells(1, 1).Value = InputBox("Введите свою фамилию")
Cells(2, 1).Value = InputBox("Введите свое имя")
Cells(3, 1).Value = InputBox("Введите год рождения")
Cells(4, 1).Value = InputBox("Какое у вас образование?")
Cells(5, 1).Value = InputBox("Ваш пол?")
Cells(6, 1).Value = InputBox("Ваше семейное положение")
End Sub
а все остальное на месте
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 03.03.2011 в 18:10.
IgorGO вне форума Ответить с цитированием
Старый 03.03.2011, 18:45   #3
Sleier
Новичок
Джуниор
 
Регистрация: 03.03.2011
Сообщений: 2
По умолчанию

Спасибо большое, просто решение задачи это пол дело нужно ее объяснить, помогите с объяснение строк и как что зачем делать, заранее спасибо!
Sleier вне форума Ответить с цитированием
Старый 03.03.2011, 19:21   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

начну с самого начала:
в те далекие времена, когда по земле еще бегали мамонты, (правда, еще до этого был взрыв, с которого все и образовалось) компьютеров еще не было вовсе и человек, как только оторвал руки от земли, окинул грустным взглядом вокруг и понял - руки надо чем-то занять, надо придумать компьютер и клавиатуру чтобы долбить по ней пальцами.
... немного пропускаем ...
потом придумали студентов
... еще немного пропускаем ...
потом придумали BASIC - (Beginner’s All-purpose Symbolic Instruction Code) чтобы студентам было чем занятся
... еще немного пропускаем ...
и вот у Вас готовый набор программ, с которыми можно идти за зачетом.
Успехов!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята очень нужно! составить программу решения задачи в VBA MS EXCEL ~Doka~ Помощь студентам 6 24.01.2011 17:11
Спасайте! Идет произвольная перезагрузка... vilison Безопасность, Шифрование 30 02.02.2010 21:11
Народ спасайте С++ Jlexa Помощь студентам 0 21.06.2009 10:00
Спасайте,проггеры,нуба GitaRist123 Операционные системы общие вопросы 2 09.10.2008 15:26