VBA Платежка

height="101" align="LEFT" hspace="13" />


Windows("Платёжки" & ГодАктивПл).Activate

Worksheets("Лист2").Range("a1") = Список

Worksheets("Лист2").Range("b" & (Y + 2)) = "Итого:"

Worksheets("Лист2").Range("c" & (Y + 2)) = Сумма

Range("A3:I" & Y + 1).Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous


End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous


End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous


End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous


End With

With Selection.Borders(xlInsideVertical)

.LineStyle = xlContinuous


End With

'ActiveWorkbook.Save

Range("A1").Select

Мас = Сумма & " рублей."

Просмотр.Enabled = True

Печать.Enabled = True

Счётчик.Enabled = True

Windows("Клиенты" & ГодАктивПл).Activate

Label4.Caption = "Отчёт по Получателю : " & Список _

& ", Р/С: " & Worksheets(PP).Range("c" & Список.ListIndex + 1) _

& ", Банк: " & Worksheets(PP).Range("b" & Список.ListIndex + 1) _

& ", Код Банк: " & Worksheets(PP).Range("d" & Список.ListIndex + 1) _

& " сформирован." _

& " Всего было за выбранный период " & Сумма2 & " платёжек."

Windows("Платёжки" & ГодАктивПл).Activate









3.4 Разработка и тестирование программного модуля.


Возмём в качестве тестового примера несколько получателей платежей . Заполним некоторое кол-во плю поручений. На пример:

Наименование Получателя

Дата

Кол-во платежа

Иванов

01/02/00

500

Иванов

02/02/00

600

Иванов

03/03/00

700

Иванов

04/04/00

800

Иванов

05/05/00

900

Иванов

06/06/00

1000

Иванов

07/07/00

1100

Иванов

08/08/00

1200

Сидоров

01/02/00

100

Сидоров

02/02/00

10

Сидоров

03/03/00

15

Сидоров

04/04/00

16

Сидоров

05/05/00

17

Сидоров

08/08/00

18

Сидоров

08/09/00

19

Иванов

01/02/00

1000


Итого

7995


Результаты полученные ьвне программы совершенно идентичны результатам полученным программым путём.

Так же программый продукт подвергся тестированию на собственном производстве. Ошибок выявлено не было.


Из этого можно сделать вывод что созданное программное обеспечение работает правильно и вполне готово к эксплуатации.


Заключение.

Представленный программный продукт создан в среде Excel -97 .

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

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


Литература


  1. “Microsoft OFFICE97 разработка приложений” К.Соломон издательство “БХВ “ г.Санкт-Петербург 1998 год.


2. Кен Гетц. Майк Джилберт ” Программирование в Microsoft Office “ - издательство “ Печатный двор“ Государственного комитета РФ по печати г.Санкт-Петербург 1999 год.


3. М.МакКелви и др. “ Visual Basic 5 “ издательство “ BHV-Санкт-Петербург“ 1998 год.


4. Р.Персон. “Excel для Windows 95 “ издательство “ BHV-Санкт-Петербург“ 1998 год.


5. Р.Винтер. “Microsoft Office для Windows 95 “ издательство “ BHV-Санкт-Петербург“ 1998 год.


6. Фигурнов В.Э.” IBM PC для пользователя.” - М: Финансы и статистика, 1991.

7.Ч.Петзолд “Программирование для Windows 95 ” издательство “ BHV-Санкт-Петербург“ 1998 год.


8 . Ф. Новиков,А.Яценко. “Microsoft Office в целом” издательство “ BHV-Санкт-Петербург“ 1998 год.


Исходный текст основного программного модуля.


Dim №ПЛ As String

Dim Платящий As String

Dim BOX

Dim БОКС

Dim МП1 As String

Dim Год

Private Sub ComboBox1_Change()

Windows("Клиенты" & Year(Date)).Activate

If ComboBox1.ListIndex = -1 Then

Exit Sub

End If

a = ComboBox1.ListIndex

Счётчик2.Visible = False

Создать.Visible = False

Предосмотр.Visible = False

СохранитьНов.Visible = True

If Len(Worksheets(№ПЛ).Range("A1")) = 0 Then

ComboBox1.Visible = False

Windows("Клиенты" & Year(Date)).Activate

Счёт = Worksheets(№ПЛ).Range("C1")

Банк = Worksheets(№ПЛ).Range("B1")

Клиент = Worksheets(№ПЛ).Range("A1")

КодБанка = Worksheets(№ПЛ).Range("D1")

УНН = Worksheets(№ПЛ).Range("E1")

ВидОперации = Worksheets(№ПЛ).Range("f1")

НазначПлатежа1 = Worksheets(№ПЛ).Range("g1")

НомНазПл = Worksheets(№ПЛ).Range("H1")

ElseIf a < 0 Then

ComboBox1.ListIndex = a + 1

Windows("Клиенты" & Year(Date)).Activate

Счёт = (Worksheets(№ПЛ).Range("C" & (ComboBox1.ListIndex + 1)))

Банк = (Worksheets(№ПЛ).Range("B" & (ComboBox1.ListIndex + 1)))

Клиент = (Worksheets(№ПЛ).Range("A" & (ComboBox1.ListIndex + 1)))

КодБанка = (Worksheets(№ПЛ).Range("D" & (ComboBox1.ListIndex + 1)))

УНН = (Worksheets(№ПЛ).Range("E" & (ComboBox1.ListIndex + 1)))

ВидОперации = Worksheets(№ПЛ).Range("f" & (ComboBox1.ListIndex + 1))

НазначПлатежа1 = Worksheets(№ПЛ).Range("g" & (ComboBox1.ListIndex + 1))

НомНазПл = Worksheets(№ПЛ).Range("H" & (ComboBox1.ListIndex + 1))

Else

Windows("Клиенты" & Year(Date)).Activate

Счёт = (Worksheets(№ПЛ).Range("C" & (ComboBox1.ListIndex + 1)))

Банк = (Worksheets(№ПЛ).Range("B" & (ComboBox1.ListIndex + 1)))

Клиент = (Worksheets(№ПЛ).Range("A" & (ComboBox1.ListIndex + 1)))

КодБанка = (Worksheets(№ПЛ).Range("D" & (ComboBox1.ListIndex + 1)))

УНН = (Worksheets(№ПЛ).Range("E" & (ComboBox1.ListIndex + 1)))

ВидОперации = Worksheets(№ПЛ).Range("f" & (ComboBox1.ListIndex + 1))

НазначПлатежа1 = Worksheets(№ПЛ).Range("g" & (ComboBox1.ListIndex + 1))

НомНазПл = Worksheets(№ПЛ).Range("H" & (ComboBox1.ListIndex + 1))

End If

End Sub


Private Sub Выход_Click()

Windows("Платёжки" & Year(Date)).Activate

ActiveWorkbook.Save

ActiveWindow.Close

Windows("Клиенты" & Year(Date)).Activate

ActiveWorkbook.Save

ActiveWindow.Close

Windows("Платёжка.xls").Activate

ActiveWorkbook.Save

ActiveWindow.Close

Application.Quit

'ActiveWorkbook.RunAutoMacros Which:=xlAutoClose

End Sub


Private Sub UserForm_Activate()

Windows("Платёжка.xls").Activate

Платящий = "Текущий Плательщик : " & Worksheets("Лист1").Range("E7") & _

" УНН : " & Worksheets("Лист1").Range("C7") & _

" P/c : " & Worksheets("Лист1").Range("Q8") & _

" Банк : " & Worksheets("Лист1").Range("D8") & _

" Код Банка : " & Worksheets("Лист1").Range("P9")

№ПЛ = Worksheets("Лист1").Range("A1")

Windows("Клиенты" & Year(Date)).Activate

ComboBox1.Clear

МП = True

X = 1

Год = Year(Date)

While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

ComboBox1.AddItem (Worksheets(№ПЛ).Range("A" & X))

X = X + 1

Wend

End Sub


Private Sub ЗаПрошлыйГод_Click()

If Dir("C:Program FilesПлатёжкаПлатёжки" & (Year(Date) - 1) & ".xls") = _

"Платёжки" & (Year(Date) - 1) & ".xls" Then

Workbooks.Open FileName:="C:Program FilesПлатёжкаПлатёжки" & (Year(Date) - 1)

Windows("Платёжки" & (Year(Date) - 1)).Activate

Worksheets(№ПЛ).Select

Год = Year(Date) - 1

Else

БОКС = MsgBox("За прошлый год файл отчёта не найден", , BOX)

Exit Sub

End If

Вконец = True


End Sub


Private Sub Плательщики_Click()

UserForm1.Hide

UserForm3.Show

End Sub


Private Sub Отчёты_Click()

UserForm1.Hide

UserForm2.Show

End Sub


Private Sub Минус_Click() ' отнимает 1 день от даты

If IsDate(Дата) = True Then

Дата = CDate(Дата) - 1

Else

End If

End Sub


Private Sub Плюс_Click() ' прибавляет один день к дате

If IsDate(Дата) = True Then

Дата = CDate(Дата) + 1

Else

End If

End Sub


Private Sub Предосмотр_Click() ' активизирует окно просмотра Excel

Windows("Платёжка.xls").Activate

Application.Visible = True

UserForm1.Hide

ActiveWindow.SelectedSheets.PrintPreview

Application.Visible = False

UserForm1.Show

End Sub


Private Sub UserForm_Initialize()

If Dir("C:Program FilesПлатёжкаКлиенты" & Year(Date) & ".xls") <> _

"Клиенты" & Year(Date) & ".xls" Then

Workbooks.Open FileName:="C:Program FilesПлатёжкаКлиенты" & (Year(Date) - 1)

Windows("Клиенты" & (Year(Date) - 1)).Activate

ActiveWorkbook.SaveAs FileName:="C:Program FilesПлатёжкаКлиенты" & Year(Date)

Workbooks.Open FileName:="C:Program FilesПлатёжкаПлатёжки" & (Year(Date) - 1)

Windows("Платёжки" & (Year(Date) - 1)).Activate

ActiveWorkbook.SaveAs FileName:="C:Program FilesПлатёжкаПлатёжки" & Year(Date)


Workbooks.Open FileName:="C:Program FilesПлатёжкаПлательщики.xls"

Windows("Плательщики.xls").Activate

X = 1

Do While Len(Worksheets("Лист1").Range("A" & X)) <> 0

X = X + 1

Loop

X = X - 1


Do While X <> 0

Windows("Клиенты" & Year(Date)).Activate

Worksheets(CStr(X)).Select

Worksheets(CStr(X)).Range("L1:L65535").Select

Selection.ClearContents


Windows("Платёжки" & Year(Date)).Activate

Worksheets(CStr(X)).Select

Worksheets(CStr(X)).Columns("A:AG").Select

Selection.ClearContents

X = X - 1

Loop

Windows("Клиенты" & Year(Date)).Activate

ActiveWorkbook.Save

Windows("Платёжки" & Year(Date)).Activate

ActiveWorkbook.Save

Workbooks.Open FileName:="C:Program FilesПлатёжкаПлатёжка.xls"

Windows("Плательщики.xls").Activate

Worksheets("Года").Select

X = 1

While Len(Worksheets("Года").Range("A" & X)) <> 0

X = X + 1

Wend

'Worksheets("Года").Range("A" & X) = CStr((Year(Date) - 1))

Worksheets("Года").Range("A" & X) = CStr(Year(Date))

ActiveWorkbook.Save

Else

Workbooks.Open FileName:="C:Program FilesПлатёжкаКлиенты" & Year(Date)

Workbooks.Open FileName:="C:Program FilesПлатёжкаПлатёжки" & Year(Date)

Workbooks.Open FileName:="C:Program FilesПлатёжкаПлатёжка.xls"

Workbooks.Open FileName:="C:Program FilesПлатёжкаПлательщики.xls"

End If


Год = Year(Date)

Счётчик2.List = Array(1, 2, 3)

Счётчик2 = 1

Дата = Date

МП = True

ComboBox1.Visible = True

НомерПл.Visible = False

Label1.Visible = True

Создать.Visible = False

Label14.Visible = False

Счётчик.Visible = False

КСтарПл.Visible = False

Предосмотр.Visible = False

Счётчик2.Visible = False

ИзмененияСТ.Visible = False

Вконец.Visible = False

номерСТПЛ.Visible = False

ПоНомеру.Visible = False

ЗаПрошлыйГод.Visible = False

Сегодня.Caption = "Сегодня : " & Date

BOX = "Платёжка"

Windows("Платёжка.xls").Activate

№ПЛ = Worksheets("Лист1").Range("a1")

Windows("Клиенты" & Year(Date)).Activate

X = 1

While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

ComboBox1.AddItem (Worksheets(№ПЛ).Range("A" & X))

X = X + 1

Wend

End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

Windows("Платёжки" & Year(Date)).Activate

ActiveWorkbook.Save

ActiveWindow.Close

Windows("Клиенты" & Year(Date)).Activate

ActiveWorkbook.Save

ActiveWindow.Close

Windows("Платёжка.xls").Activate

ActiveWorkbook.Save

ActiveWindow.Close

Application.Quit

'ActiveWorkbook.RunAutoMacros Which:=xlAutoClose

End Sub


Private Sub Измениния_Click()

Windows("Клиенты" & Year(Date)).Activate

If Проверка = False Then ' Проверка на правильность ' функция находится в конце программы

Exit Sub ' введённой информац

Else ' функция находится в конце программы

End If

X = 1

Do While X < ComboBox1.ListCount + 1

If Клиент = Worksheets(№ПЛ).Range("A" & X) _

And Банк = Worksheets(№ПЛ).Range("b" & X) _

And Счёт = Worksheets(№ПЛ).Range("c" & X) _

And КодБанка = Worksheets(№ПЛ).Range("d" & X) _

And УНН = Worksheets(№ПЛ).Range("e" & X) _

And ВидОперации = Worksheets(№ПЛ).Range("f" & X) _

And НомНазПл = Worksheets(№ПЛ).Range("H" & X) _

And НазначПлатежа1 = Worksheets(№ПЛ).Range("g" & ComboBox1.ListIndex + 1) _

Then

БОКС = MsgBox("Извените но : " & Клиент & " уже есть в списке Получателей." _

& Chr(10) & "Попробуйте выбрать Получателя из списка.", , BOX)

Exit Sub

Else

X = X + 1

End If

Loop


Worksheets(№ПЛ).Range("A" & (ComboBox1.ListIndex + 1)) = Клиент

Worksheets(№ПЛ).Range("b" & (ComboBox1.ListIndex + 1)) = Банк

Worksheets(№ПЛ).Range("c" & (ComboBox1.ListIndex + 1)) = Счёт

Worksheets(№ПЛ).Range("d" & (ComboBox1.ListIndex + 1)) = КодБанка

Worksheets(№ПЛ).Range("e" & (ComboBox1.ListIndex + 1)) = УНН

Worksheets(№ПЛ).Range("f" & (ComboBox1.ListIndex + 1)) = ВидОперации

Worksheets(№ПЛ).Range("g" & (ComboBox1.ListIndex + 1)) = НазначПлатежа1

Worksheets(№ПЛ).Range("H" & (ComboBox1.ListIndex + 1)) = НомНазПл

ActiveWorkbook.Save

БОКС = MsgBox("Изменения в данные о Клиенте : " & Клиент & " успешно внесёны в список клиентов", , BOX)

Клиент.SetFocus

End Sub

Private Sub ДобавитьПол_Click()

Windows("Клиенты" & Year(Date)).Activate

If Проверка = False Then ' Проверка на правильность ' функция находится в конце программы

Exit Sub ' введённой информац

Else ' функция находится в конце программы

End If

X = 1

Do While X < ComboBox1.ListCount + 1

If Клиент = Worksheets(№ПЛ).Range("A" & X) _

And Банк = Worksheets(№ПЛ).Range("b" & X) _

And Счёт = Worksheets(№ПЛ).Range("c" & X) _

And КодБанка = Worksheets(№ПЛ).Range("d" & X) _

And УНН = Worksheets(№ПЛ).Range("e" & X) _

And ВидОперации = Worksheets(№ПЛ).Range("f" & X) _

And НомНазПл = Worksheets(№ПЛ).Range("H" & X) _

Then

БОКС = MsgBox("Извените но : " & Клиент & " уже есть в списке Получателей." _

& Chr(10) & "Попробуйте выбрать Получателя из списка.", , BOX)

Exit Sub

Else

X = X + 1

End If

Loop


X = 1

While Len(Worksheets(№ПЛ).Range("A" & X)) <> 0

X = X + 1

Wend

Worksheets(№ПЛ).Range("A" & X) = Клиент

Worksheets(№ПЛ).Range("b" & X) = Банк

Worksheets(№ПЛ).Range("c" & X) = Счёт

Worksheets(№ПЛ).Range("d" & X) = КодБанка

Worksheets(№ПЛ).Range("e" & X) = УНН

Worksheets(№ПЛ).Range("f" & X) = ВидОперации

Worksheets(№ПЛ).Range("g" & X) = НазначПлатежа1

Worksheets(№ПЛ).Range("H" & X) = НомНазПл

ComboBox1.Visible = True

ComboBox1.AddItem (Worksheets(№ПЛ).Range("A" & (ComboBox1.ListCount + 1)))

ComboBox1.ListIndex = X - 1

ActiveWorkbook.Save

БОКС = MsgBox("Новый Клиент : " & Клиент & " внесён в список клиентов", , BOX)

Клиент.SetFocus


End Sub


Private Sub КСтарПл_Click()

Windows("Платёжка.xls").Activate

If Len(НомерПл) = 0 Then

БОКС = MsgBox("Вы не выбрали платёжку...", , BOX)

Exit Sub

Else

End If


If ПроверкаПЛ = False Then ' Проверка на правильность

Exit Sub ' введённой информации

Else ' функция находится в конце программы

End If


Вплатёжку 'функция сохраняющая данные в платёжке

ActiveWorkbook.Save

Windows("Платёжки" & Year(Date)).Activate

Worksheets(№ПЛ).Range("A" & НомерПл) = НомерПл

Worksheets(№ПЛ).Range("c" & НомерПл) = Банк

Worksheets(№ПЛ).Range("d" & НомерПл) = Счёт

Worksheets(№ПЛ).Range("b" & НомерПл) = Клиент

Worksheets(№ПЛ).Range("e" & НомерПл) = КодБанка

Worksheets(№ПЛ).Range("f" & НомерПл) = УНН

Worksheets(№ПЛ).Range("g" & НомерПл) = Деньги

Worksheets(№ПЛ).Range("h" & НомерПл) = Дата

Worksheets(№ПЛ).Range("I" & НомерПл) = ДатаУслуг

Worksheets(№ПЛ).Range("J" & НомерПл) = ВидОперации

Worksheets(№ПЛ).Range("K" & НомерПл) = НазначПлатежа1

Worksheets(№ПЛ).Range("L" & НомерПл) = НомНазПл

Worksheets(№ПЛ).Range("M" & НомерПл) = МП1

Windows("Платёжка.xls").Activate

Впечать 'функция печати

End Sub

Private Sub ИзмененияСТ_Click()

If Year(Дата) <> Год Then

БОКС = MsgBox("В дате должен стоять " & Год & " год", , BOX)

Exit Sub

End If


Windows("Платёжка.xls").Activate

If Len(НомерПл) = 0 Then

БОКС = MsgBox("Вы не выбрали платёжку...", , BOX)

Exit Sub

Else

End If


If ПроверкаПЛ = False Then ' Проверка на правильность

Exit Sub ' введённой информации

Else ' функция находится в конце программы

End If


Вплатёжку 'функция сохраняющая данные в платёжке

ActiveWorkbook.Save

Windows("Платёжки" & Год).Activate

Worksheets(№ПЛ).Range("A" & НомерПл) = НомерПл

Worksheets(№ПЛ).Range("c" & НомерПл) = Банк

Worksheets(№ПЛ).Range("d" & НомерПл) = Счёт

Worksheets(№ПЛ).Range("b" & НомерПл) = Клиент

Worksheets(№ПЛ).Range("e" & НомерПл) = КодБанка

Worksheets(№ПЛ).Range("f" & НомерПл) = УНН

Worksheets(№ПЛ).Range("g" & НомерПл) = CDbl(Деньги)

Worksheets(№ПЛ).Range("h" & НомерПл) = Дата

Worksheets(№ПЛ).Range("I" & НомерПл) = ДатаУслуг

Worksheets(№ПЛ).Range("J" & НомерПл) = ВидОперации

Worksheets(№ПЛ).Range("K" & НомерПл) = НазначПлатежа1

Worksheets(№ПЛ).Range("L" & НомерПл) = НомНазПл

Worksheets(№ПЛ).Range("M" & НомерПл) = МП1

ActiveWorkbook.Save

БОКС = MsgBox("Изменения в платёжку

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: