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

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi Le tai dung, 1 Tháng sáu 2005.

2,399 lượt xem

  1. Le tai dung

    Le tai dung Thành viên sơ cấp

    Bài viết:
    4
    Đã được thích:
    0
    Nơi ở:
    Hanoi
    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
     
    #1
  2. Bình_OverAC

    Bình_OverAC Over Abnormal / Crazy

    Bài viết:
    845
    Đã được thích:
    7
    Nơi ở:
    Nha Trang
    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.
     
    #2
  3. ForestC

    ForestC Thành viên hoạt động

    Bài viết:
    377
    Đã được thích:
    1
    Nơi ở:
    E'rywhere
    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.
     
    #3
  4. SA_DQ

    SA_DQ Thành viên thân thiết

    Bài viết:
    432
    Đã được thích:
    37
    Nơi ở:
    HCM city
    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:
     
    #4

Chia sẻ trang này