Macro Khấu hao TSCĐ

Liên hệ QC
Status
Không mở trả lời sau này.

handung107

Thành viên gắn bó
Thành viên danh dự
Tham gia
30/5/06
Bài viết
1,630
Được thích
17,436
Nghề nghiệp
Bác sĩ
Trích từ PCWorld​

Quyết định số 206/2003/QĐ-BTC về chế độ quản lý, sử dụng và trích khấu hao tài sản cố định (TSCĐ) cho phép áp dụng phương pháp “Khấu hao theo số dư giảm dần có điều chỉnh”. Ví dụ TSCĐ có nguyên giá 10.000.000 (VNĐ), sử dụng trong 10 năm, hệ số điều chỉnh là 2 thì khấu hao hàng năm tính như bảng dưới đây

Từ năm thứ 4 trở đi, mức khấu hao hàng năm bằng giá trị còn lại của tài sản cố định (đầu năm thứ 4) chia cho số năm sử dụng còn lại của tài sản cố định (2.160.000 : 2 = 1.080.000). Vì tại năm thứ 4: mức khấu hao theo phương pháp số dư giảm dần (2.160.000 x 40%= 864.000) thấp hơn mức khấu hao tính bình quân giữa giá trị còn lại và số năm sử dụng còn lại của tài sản cố định (2.160.000 : 2 = 1.080.000).

Khá phức tạp! Nếu bạn là kế toán TSCĐ và công ty của bạn có nhiều tài sản áp dụng phương pháp khấu hao này thì bạn sẽ mệt đấy. Tuy nhiên, bạn có thể trút bớt “gánh nặng” này cho... Excel.

CHUẨN BỊ

Phần mềm MS Excel 2000 trở lên

Quyết định số 206/2003/QĐ-BTC ngày 12/12/2003 của Bộ Tài chính

Tạo các hàm sau (có thể đổi tên)

+ YearOfBreak: Hàm xác định năm mà mức khấu hao chuyển từ phương pháp số dư giảm dần sang phương pháp bình quân giá trị còn lại.

+ Depreciation: Hàm tính khấu hao TSCĐ trong năm t.

+ NetValue: Hàm tính giá trị còn lại của TSCĐ ở cuối năm t nào đó.

TẠO HÀM

Năm.....GTTSCĐcònlại.......CáchtínhsốKHTSCĐ/năm......MứcKH/năm......KHlũykếcuốinăm
1 ...... ..10.000.000 ...........10.000.000 x 40% ...... . . 4.000.000 ....... .4.000.000
2 ...... ..6.000.000 ........... 6.000.000 x 40% ...... . . .2.400.000........... 6.400.000
3 ...... ..3.600.000........... ..3.600.000 x 40%...... . . . .1.440.000 ........... 7.840.000
4...... .. .2.160.000........... .. 2.160.000 : 2...... . . ...1.080.000 ........... ...8.920.000
5...... .. .2.160.000........... .. 2.160.000 : 2...... . . ...1.080.000........... ...10.000.000

Thực hiện :

1. Mở bảng tính mới

2. Chọn Tools->Macro->Visual Basic Editor (Hoặc nhấn Alt+F11)

3. Nhấn vào bảng tính của bạn tại cửa sổ VBA project

4. Chọn Insert.Module

5. Nhập vào các đoạn mã hàm.

TẠO ADD-IN

Đến đây bạn đã có thể tính khấu hao được rồi. Tuy nhiên bạn chỉ có thể tính khấu hao ở bảng tính vừa tạo, để sử dụng các hàm tính khấu hao ở tất cả các bảng tính thì bạn phải tạo Add-in.

1. Nhấn chuột phải vào module đã tạo

2. Điền các thông số

3. Đóng cửa sổ VBA

4. File_Save As chọn (*.xla) ở khung Save as type

5. Đặt tên file

6. Xong

Để gắn add-in vào Excel, bạn vào Tools->Add-in, nhấn Browse, chọn file .xla vừa tạo rồi OK.

MÃ NGUỒN
Public Function YearOfBreak(cost As Double, life As Integer, rate As Double) As Integer
Dim ret As Integer Gia tri tro ve
Dim depX As Double muc kh nam theo pp so du giam dan
Dim depY As Double muc kh nam theo gia tri con lai / so nam con lai
Dim i As Integer
For i = 1 To life
depX = (cost * ((1 - rate / life) ^ (i - 1))) * (rate / life)
depY = (cost * ((1 - rate / life) ^ (i - 1))) / (life - i + 1)
If depX <= depY Then
ret = i
Exit For
End If
Next i
YearOfBreak = ret
End Function

Public Function Depreciation(cost As Double, life As Integer, rate As Double, year As Integer) As Double
cost la nguyen gia cua tai san co dinh
life la so nam su dung cua tai san co dinh
rate he so dieu chinh
year la nam can tinh
-------------------------
Dim YearBreak As Integer
Dim YearsAfBreak As Integer so nam con lai sau diem break
Dim NetAtBreak As Double GTCL dau nam break
Dim ret As Double Gia tri tro ve
If life < year Or year < 1 Then
Exit Function
End If
YearBreak = YearOfBreak(cost, life, rate)
If year < YearBreak Then
ret = cost * ((1 - rate / life) ^ (year - 1)) * (rate / life)
Else
NetAtBreak = cost * ((1 - rate / life) ^ (YearBreak - 1))
YearsAfBreak = life - YearBreak + 1
ret = NetAtBreak / YearsAfBreak
End If
Depreciation = ret
End Function

Public Function NetValue(cost As Double, life As Integer, rate As Double, year As Integer) As Double
cost la nguyen gia cua tai san co dinh
life la so nam su dung cua tai san co dinh
rate he so dieu chinh
year la nam can tinh
--------------------------
Dim YearBreak As Integer
Dim YearsAfBreak As Integer so nam con lai sau diem break
Dim NetAtBreak As Double GTCL dau nam break
Dim ret As Double Gia tri tro ve
If life < year Then
NetValue = 0
Exit Function
End If
If year <= 0 Then
NetValue = cost
Exit Function
End If
YearBreak = YearOfBreak(cost, life, rate)

If year < YearBreak Then
ret = cost * ((1 - rate / life) ^ year)
Else
NetAtBreak = cost * ((1 - rate / life) ^ (YearBreak - 1))
YearsAfBreak = life - YearBreak + 1
ret = NetAtBreak - NetAtBreak * (year - YearBreak + 1) / YearsAfBreak
End If
NetValue = ret
End Function

Nguyễn Văn Thắng
thang_via@hotmail.com
Công ty Kiểm Toán Quốc Tế Việt nam
 
Lần chỉnh sửa cuối:
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom