КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
С помощью формы пользователя
При добавлении к рабочему листу формы пользователя необходимо войти в редактор кода Visual Basic (нажать клавиши ALT+F11) и с помощью команды UserForm меню Вставка (Insert) листа модуля вызвать форму на экран монитора. После этого можно размещать на форме требуемые элементы управления (см. п.8.1).
Код приложения
' Объявление типа данных с именем "Клиент" в секции General Private Type Клиент Фамилия As String * 20 Дети As Integer Должность As String * 20 Ставка As Single End Type ' Запись процедуры инициализации формы пользователя Private Sub UserForm_Initialize() ' Формирование заголовка формы Userform1.Caption = "Заполнение списка" ' Удаление строки формул с рабочего листа Excel Application.DisplayFormulaBar = False ' Расположение на командной кнопке текста With CommandButton1 .Default = True .Accelerator = "О" .ControlTipText = "Ввод записи в таблицу" End With ' Очистка текстового поля для ввода новой фамилии TextBox1.Text = "" ' Установка переключателя 1 в состояние включено OptionButton1.Value = True ' Формирование списка должностей With ComboBox1 .List = Array("Доцент","Ассистент", "Ст.преподаватель") .ListIndex = 0 End With
' Формирование списка коэффициентов тарифной сетки With ComboBox2 .List = Array(3.62,2.68, 3.12) .ListIndex = 0 End With End Sub ' Процедура заполнения списка Private Sub CommandButton1_Click() Dim tклиент As Клиент Dim kstrok As Integer Range("a1").Value = "Фамилия И.О." Range("b1").Value = "Таб.№" Range("с1").Value = "Должность" Range("d1").Value = "Коэфф" Range("e1").Value = "Дети" Range("f1").Value = "Начислено" Range("g1").Value = "Налог" Range("h1").Value = "К выдаче" ' Определение номера первой незаполненной строки рабочего листа kstrok = WorksheetFunction.CountA(Range("a:a")) + 1
With tклиент ' Ввод значений элементов данных .Фамилия = TextBox1 . Должность = ComboBox1 .Ставка = Val(ComboBox2) ' Определение значения показателя "Дети" с помощью переключателей If OptionButton1 = True Then.Дети = 0 If OptionButton2 = True Then.Дети = 1 If OptionButton3 = True Then.Дети = 2 If OptionButton4 = True Then.Дети = 3 End With ' Заполнение рабочего листа данными формы With tклиент Cells(kstrok, 1).Value =.Фамилия Cells(kstrok, 2).Value =. Должность Cells(kstrok, 3).Value =.Ставка Cells(kstrok, 4).Value =. Дети End With Columns("a:h").AutoFit Columns("C").NumberFormat = "0.00" TextBox1.Text = "" End Sub ' Окончание ввода данных Private Sub CommandButton2_Click() Unload Me End Sub
9.3. Вычисление показателей Начислено, Налог, К выдаче
Математическая модель: Ввести значение минимальной ставки - Ставка Для i =1.. k-1 Начисленоi = Ставка ´ Коэффi Льготаi = Ставка + 300 ´ Детиi
Налогi=
К выдачеi = Начисленоi - Налогi
Код приложения
Dim Ставка As Single, i As Integer, Льгота As Single Ставка = InputBox("Введите начальную ставку") For i = 1 To k - 1 Range("f1").Offset(rowoffset:=i).Value = Range("d1").Offset(rowoffset:=i).Value * Ставка Льгота = Ставка + 300 * Range("e1").Offset(i).Value If Льгота > Range("f1").Offset(i).Value Then Range("g1").Offset(i).Value = 0 Else Range("g1").Offset(i).Value = (Range("f1").Offset(rowoffset:=i).Value - Льгота) * 0.13 End If Cells(i + 1, 8).Value = Cells(i + 1, 6).Value - Cells(i + 1, 7).Value Next
Дата добавления: 2014-12-27; Просмотров: 365; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |