Xin chỉ giáo sử dụng VBA

  • Thread starter Le tai dung
  • Ngày gửi
L

Le tai dung

Thành viên sơ cấp
11/5/05
4
0
0
Hanoi
#1
Tôi có đoạn mã VBA và đã thực hiện như hướng dẫn để đưa đoạn mã đó vào module. các bước tiếp theo để thực hiện trong excel làm như thế nào thì tôi không biết.các bạn chỉ giáo cho tôi với.Cảm ơn các bạn nhé.
Đây là đoạn mã tôi đã đưa vào để tính thuế TNCN
Function pitlc(gross_local)
'Personal Income Tax for Local Vietnamese Citizen
If (gross_local > 0) And (gross_local <= 5000000) Then
pitlc = 0
ElseIf (gross_local > 5000000) And (gross_local <= 15000000) Then
pitlc = (gross_local - 5000000) * 0.1
ElseIf (gross_local > 15000000) And (gross_local <= 25000000) Then
pitlc = 1000000 + ((gross_local - 15000000) * 0.2)
ElseIf (gross_local > 25000000) And (gross_local <= 40000000) Then
pitlc = 3000000 + ((gross_local - 25000000) * 0.3)
ElseIf (gross_local > 40000000) Then
pitlc = 7500000 + ((gross_local - 40000000) * 0.4)
End If
End Function

Function pitfr(gross_foreign)

'Personal Income Tax for Resident Foreigner in Vietnamese

If (gross_foreign > 0) And (gross_foreign <= 8000000) Then

pitfr = 0

ElseIf (gross_foreign > 8000000) And (gross_foreign <= 20000000) Then

pitfr = (gross_foreign - 8000000) * 0.1

ElseIf (gross_foreign > 20000000) And (gross_foreign <= 50000000) Then

pitfr = 1200000 + ((gross_foreign - 20000000) * 0.2)

ElseIf (gross_foreign > 50000000) And (gross_foreign <= 80000000) Then

pitfr = 7200000 + ((gross_foreign - 50000000) * 0.3)

ElseIf (gross_foreign > 80000000) Then

pitfr = 16200000 + ((gross_foreign - 80000000) * 0.4)

End If

End Function

Function net2grosslc(net_local)

'Local Net Salary to be gross-up to Gross Salary

If (net_local > 0) And (net_local <= 5000000) Then

net2grosslc = net_local

ElseIf (net_local > 5000000) And (net_local <= 14000000) Then

net2grosslc = Round((net_local - 500000) / 0.9, 0)

ElseIf (net_local > 14000000) And (net_local <= 22000000) Then

net2grosslc = Round((net_local - 2000000) / 0.8, 0)

ElseIf (net_local > 22000000) And (net_local <= 32500000) Then

net2grosslc = Round((net_local - 4500000) / 0.7, 0)

ElseIf (net_local > 32500000) Then

net2grosslc = Round((net_local - 8500000) / 0.6, 0)

End If

End Function

Function net2grossfr(net_foreign)

'Foreigner Net Salary to be gross-up to Gross Salary

If (net_foreign > 0) And (net_foreign <= 8000000) Then

net2grossfr = net_foreign

ElseIf (net_foreign > 8000000) And (net_foreign <= 18800000) Then

net2grossfr = Round((net_foreign - 800000) / 0.9, 0)

ElseIf (net_foreign > 18800000) And (net_foreign <= 42800000) Then

net2grossfr = Round((net_foreign - 2800000) / 0.8, 0)

ElseIf (net_foreign > 42800000) And (net_foreign <= 63800000) Then

net2grossfr = Round((net_foreign - 7800000) / 0.7, 0)

ElseIf (net_foreign > 63800000) Then

net2grossfr = Round((net_foreign - 15800000) / 0.6, 0)

End If

End Function
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
7
18
36
Nha Trang
#2
Bạn đã đưa nó vào Module đúng không? Nhưng là module của file nào vậy? File này là file Add-in hay file bình thường hay file Personal.xls.
Nếu là file Add-in thì sau khi đưa vào module bạn quay lại Excel vào Tool--> Add-in--> browse đến file này.
Nếu là file bình thường thì mỗi lần muốn sử dụng bạn phải mở file này lên.
Nếu là file Personal.xls (Thường được lưu trong thư mục: C:\Programe files\Microsoft Office\Office(10, 11)Xlstart). File này sẽ tự động mở lên khi bạn khởi động Excel

Khi file này đã được mở như đã nói ở trên thì lúc này bạn dùng nó như một hàm Excel thông thường:

Ví dụ: Ô A1 là ô số tiền lương của một người nước ngoài nào đó. và bạn muốn tính thuế thu nhập của người đó thì vào ô khác gõ = pitfr(A1) thế là xong.
 
F

ForestC

Thành viên sơ cấp
11/1/05
377
1
0
39
E'rywhere
#3
Nếu bạn chưa biết cách tạo một add-m thì tôi hướng dẫn bạn thế này:

Sau khi bạn đã gõ đoạn code của bạn vào phần soạn thảo của VBA, quay trở lại màn hình chính của Excel, Bấm Ctrl+F2 (Save As), trong hộp chọn kiểu file, chọn cái dưới cùng (Add-in, *.xla đó), đặt tên cho add-in, sau đó save vào rồi nếu sau này nếu muốn dùng thì vào Tool - Add-in, tìm đến cái add-in của bạn sau đó kiểm tra xem nó đã được tích chưa (dấu v). vậy là được.
 
S

SA_DQ

Thành viên thân thiết
29/6/05
433
38
28
61
HCM city
#4
Dễ bảo trì

Theo mình cái hàm bạn viết chưa thích hợp lắm, lí do VN đang trong giai đoạn hoàn chỉnh pháp luật & Luật về Thuế thu nhập cũng không ngoại lệ;
Vậy nên khai báo một số Const. Sau này khi luật TTN thay ta chỉ việc đổi giá trị các hằng là OK liền, được nha?! :dzo:
 

BQT trực tuyến

  • Rua Diu Dang
    Rua Diu Dang
    Điều hành cao cấp

Thành viên trực tuyến

  • NHUNGBLFX
  • Fly0hFLy
  • Vu Sakura
  • AnNhien2006
  • Huỳnh Ái Nhi
  • daongocnam0603
  • honggiao
  • hoang lao ta
  • doanhuyen1508
  • huybin8196
  • Rua Diu Dang
  • thùy giang 18
  • boss_sgu
  • ungxd1998
  • Cuchoami123
  • mingoc
  • G.numer115

Xem nhiều