![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Программа на языке VBA
' Объявление переменных и констант Const StrNomer = 7 'количество строк для заголовка таблицы DimNomer As Long 'номер очередной строки таблицы (потребительское общество) Dim SP As Long Dim SF As Long Dim TP As Long Dim TF As Long Dim IP As Long Dim EF As Long Dim ItogSP As Long Dim ItogSF As Long Dim ItogTP As Long Dim ItogTF As Long Dim ItogIP As Long Dim ItogEF As Long Dim StrName1 As String Dim StrName2 As String
'Процедура инициализации формы Private Sub UserForm_Initialize() Worksheets(«Отчет»).Activate MesTextBox.SetFocus End Sub
'Процедура считывания заголовочных данных и вывода их в ячейки электронной таблицы Private Sub CommandButton3_Click() 'Ввод данных для новой отчетной таблицы With ActiveSheet Range(«E3»).Value = MesTextBox.Text Range(«G3»).Value = YearTextBox.Text End With ActiveWorkbook.SaveAs (" Отклонение фактического уровня издержек обращения от плана за " + MesTextBox.Text + «месяц. xls») Nomer = 1 ItogSP = 0 ItogSF = 0 ItogTP = 0 ItogTF = 0 ItogIP = 0 ItogEF = 0 End Sub
' Процедура обработки данных по видам деятельности Private Sub CommandButton2_Click() StrName1 = Trim(Str(StrNomer +Nomer)) With ActiveSheet Range(" A" + StrName1).Value =Nomer Range(" B" + StrName1).Value = POTextBox.Text SP = Val(SPTextBox.Text) Range(" C" + StrName1).Value = SP ItogSP = ItogSP + SP SF = Val(SFTextBox.Text) Range(" D" + StrName1).Value = SF ItogSF = ItogSF + SF TP = Val(TPTextBox.Text) Range(" E" + StrName1).Value = TP ItogTP = ItogTP + TP TF = Val(TFTextBox.Text) Range(" F" + StrName1).Value = TF ItogTF = ItogTF + TF IP = Val(IPTextBox.Text) Range(" G" + StrName1).Value = IP ItogIP = ItogIP + IP EF = Val(EFTextBox.Text) Range(" H" + StrName1).Value = EF ItogEF = ItogEF + EF Range(" I" + StrName1).Value = EF – IP 'Выполнение автозаполнения с текущей строки таблицы на следующую строку StrName2 = Trim(Str(StrNomer +Nomer + 1)) Set Range1 =.Range(" A" + StrName1 +": I" + StrName1) Set Range2 =.Range(" A" + StrName1 +": I" + StrName2) Range1.AutoFill Destination: =Range2 Range(" A" + StrName2 +": I" + StrName2).ClearContents End With
'Очистка полей формы для ввода очередных данных POTextBox.Text = " " SPTextBox.Text = " " SFTextBox.Text = " " TPTextBox.Text = " " TFTextBox.Text = " " IPTextBox.Text = " " EFTextBox.Text = " " POTextBox.SetFocus Nomer =Nomer + 1 End Sub
'Закрытие формы, подведение итогов и вывод фамилии экономиста Private Sub CommandButton1_Click() UserForm1.Hide StrName1 = Trim(Str(StrNomer +Nomer)) With ActiveSheet Range(" A" + StrName1).Value = «Итого:» Range(" C" + StrName1).Value = ItogSP Range(" D" + StrName1).Value = ItogSF Range(" E" + StrName1).Value = ItogTP Range(" F" + StrName1).Value = ItogTF Range(" G" + StrName1).Value = ItogIP Range(" H" + StrName1).Value = ItogEF Range(" I" + StrName1).Value = ItogEF – ItogIP StrName2 = Trim(Str(StrNomer +Nomer + 2)) Range(" A" + StrName2).Value = «Экономист:» Range(" G" + StrName2).Value = FIOTextBox.Text End With End Sub
|