Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otchet_po_vba.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
2.8 Mб
Скачать

Отчеты по vba Задание №1 «Определение величины амортизации основных фондов организации»

Цели: Разработать приложение для расчета величины амортизации основных фондов с использованием формы пользователя для ввода исходных данных и выбора варианта расчета амортизации.

Рабочий лист:

Программный код:

Option Explicit

Dim dblПервичнаяСтоимость As Double

Dim dblОстаточнаяСтоимость As Double

Dim intВремяАмортизации As Integer

Dim intПериодРасчета As Integer

Dim intКратность As Integer

Dim blnПризнак As Boolean

Dim dblВеличинаАмортизации As Double

Dim k As Integer

Private Sub CommandButton1_Click()

UserForm1.Show

End Sub

Private Sub CommandButton2_Click()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox6.Text = ""

End Sub

Private Sub UserForm_Initialize()

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

TextBox4.Text = ""

TextBox5.Text = ""

TextBox6.Text = ""

OptionButton1.Value = True

End Sub

Private Sub КнопкаВычислить_Click()

If TextBox1.Text = "" Or TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Then

MsgBox "Нет данных для расчета", vbExclamation, "Амортизация"

Exit Sub

End If

dblПервичнаяСтоимость = CDbl(TextBox1.Text)

dblОстаточнаяСтоимость = CDbl(TextBox2.Text)

intВремяАмортизации = CInt(TextBox3.Text)

intПериодРасчета = CInt(TextBox4.Text)

If dblПервичнаяСтоимость < dblОстаточнаяСтоимость Then

MsgBox "Ошибка! Остаток больше начальной амортизаци", vbExclamation, "Амортизация"

TextBox1.SetFocus

Exit Sub

End If

If intВремяАмортизации < intПериодРасчета Then

MsgBox "Ошибка в сроке амортизации", vbExclamation, "Амортизация"

TextBox3.SetFocus

Exit Sub

End If

If OptionButton1.Value = True Then

blnПризнак = True

Else

blnПризнак = False

End If

If blnПризнак = True Then

dblВеличинаАмортизации = SYD(dblПервичнаяСтоимость, dblОстаточнаяСтоимость, intВремяАмортизации, intПериодРасчета)

Else

TextBox6.SetFocus

intКратность = CInt(TextBox6.Text)

dblВеличинаАмортизации = DDB(dblПервичнаяСтоимость, dblОстаточнаяСтоимость, intВремяАмортизации, intПериодРасчета)

End If

TextBox5.Text = CStr(dblВеличинаАмортизации)

ActiveSheet.Range("A1:F9").Clear

k = intКратность

ActiveSheet.Columns("A").Select

With Selection

.ColumnWidth = 30

.WrapText = True

End With

ActiveSheet.Range("B1").Select

With ActiveSheet

.Range("A1").Value = "Начальная стоимость"

.Range("A2").Value = "Остаточная стоимость"

.Range("A3").Value = "Время полной амортизации"

.Range("A4").Value = "Период, для которого рассчитывается амортизация"

.Range("A5").Value = "Расчет выполнен"

.Range("A6").Value = "Величина Амортизации"

.Range("B1").Value = dblПервичнаяСтоимость

.Range("B2").Value = dblОстаточнаяСтоимость

.Range("B3").Value = intВремяАмортизации

.Range("B4").Value = intПериодРасчета

.Range("B5").WrapText = True

.Range("B6").Value = dblВеличинаАмортизации

If blnПризнак = True Then

.Range("B5").Value = "Стандартным методом"

Else

.Range("B5").Value = "Методом " & CStr(k) & " кратного учета амортизации"

End If

End With

End Sub

Private Sub КнопкаЗавершить_Click()

End

End Sub

Форма:

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]