• Trang chủ
  • Giới thiệu
    • Học gia sư kế toán tại Hà Nội
  • Excel
  • Kế toán
  • Kinh nghỉệm
  • DAX
  • VBA
  • Văn bản
  • Access
  • Liên hệ
    • Chính sách bảo mật
Thứ Hai, Tháng Hai 6, 2023
  • Login
No Result
View All Result
NEWSLETTER
Học gia sư kế toán
  • Trang chủ
  • Giới thiệu
    • Học gia sư kế toán tại Hà Nội
  • Excel
  • Kế toán
  • Kinh nghỉệm
  • DAX
  • VBA
  • Văn bản
  • Access
  • Liên hệ
    • Chính sách bảo mật
  • Trang chủ
  • Giới thiệu
    • Học gia sư kế toán tại Hà Nội
  • Excel
  • Kế toán
  • Kinh nghỉệm
  • DAX
  • VBA
  • Văn bản
  • Access
  • Liên hệ
    • Chính sách bảo mật
No Result
View All Result
Học Gia sư Kế toán
No Result
View All Result

Hướng dẫn cách tạo SheetForm Phiếu thu, Phiếu chi trên Excel VBA – Phần 5

by My Lê
25/10/2022
in VBA
0
Hướng dẫn cách tạo SheetForm Phiếu thu, Phiếu chi trên Excel VBA – Phần 5

Originally posted on 12/02/2022 @ 21:41

Hướng dẫn cách tạo SheetForm Phiếu thu, Phiếu chi trên Excel VBA – Phần 5

  • Chuyên mục:
  • Excel cơ bản∙Excel VBA∙Kế toán∙VBA

Chào các bạn,

Khi  sử dụng VBA trong excel ,  chúng ta thường nghĩ tới việc sử dụng userform để tạo form nhập dữ liệu. Nhưng việc thiết lập userform thường khá phức tạp và sử dụng nhiều code. Đối với những bạn mới tiếp cận về VBA thì việc sử dụng userform gặp nhiều khó khăn.

Trong bài viết này  mình sẽ hướng dẫn các bạn cách sử dụng SheetForm (form tạo trên Sheet) để sử dụng tương tự như userform. Phạm vi bài viết gồm:

  • Bài 1: Xây dựng cấu trúc SheetForm
  • Bài 2: Viết Code VBA cho thao tác Mở và Đóng SheetForm
  • Bài 3: Viết Code VBA cho thao tác Làm mới SheetForm
  • Bài 4: Viết Code VBA cho thao tác Lưu SheetForm
  • Bài 5: Bẫy lỗi trong SheetForm và đánh giá về phương pháp này

Bài 5: Bẫy lỗi trong SheetForm và đánh giá về phương pháp này:

Trong bài 4, chúng ta đã tìm hiểu cách lưu nội  dung từ SheetForm Phiếu thu sang Bảng kê, và câu hỏi ở cuối bài chính là nội dung chúng ta sẽ giải quyết ở bài này:

  1. Làm thế nào để kiểm tra xem phiếu đã được lưu trước đó chưa?
  2. Làm thế nào để yêu cầu  nhập đủ hết nội dung của phiếu thu mới cho lưu phiếu.

Đây chính là những lỗi thường gặp nhất khi sử dụng SheetForm. Vì vậy kỹ năng bẫy những lỗi này là rất cần thiết cho chúng ta trong quá trình làm việc trên VBA.

Tìm hiểu ngay: khóa học lập trình VBA trong excel

Lỗi thứ 1: Không cho lưu trùng phiếu

Để xác định phiếu có trùng không (tương đương với việc  phiếu đã được lưu chưa),  chúng ta sử dụng hàm COUNTIF như sau:

=COUNTIF(Bang_Ke!$B$4:$B$32,Phieu_Thu!$B$4)

Giải thích nội dung hàm:

Dù đã có phần mềm, nhưng kỹ năng Excel vẫn cực kỳ quan trọng với kế toán, bạn đã vững Excel chưa? Hãy để tôi giúp bạn, đăng ký khoá học Excel:


EX101 92019 nho


VBA101 92019 nho

EX101 92019 nho

Bang_Ke!$B$4:$B$32  là vùng chứa nội dung Số phiếu trong Bảng kê

Phieu_Thu!$B$4  là số  phiếu trong Phiếu thu

Như vậy hàm COUNTIF sẽ xác định xem số phiếu trong phiếu thu đã xuất hiện trong cột Số phiếu trong Bảng kê chưa.

Kết quả > 0 thì số phiếu đã xuất hiện (đã trùng, đã lưu)

Kết quả = 0 thì số phiếu chưa xuất hiện (chưa lưu)

Trong cửa sổ VBA, với Sub Luu_Phieu_Thu chúng ta viết code như sau:

 

pic04 3 1

Các bạn có thể thấy phần ghi chú Bẫy lỗi lưu trùng phiếu, trong đó ta thông qua việc sử dụng hàm IF trong VBA để biện luận:

  • If Sheet3.Cells(4, 3).value > 0 then   : nếu kết quả ở sheet 3, ô C4 (là kết quả của hàm COUNTIF đã làm ở trên) lớn hơn 0 thì…
  • Msgbox “Loi: Da luu phieu”   sẽ hiện thông báo lỗi đã lưu phiếu trên màn hình
  • Exit Sub   thoát khỏi sub, dừng lệnh ngay sau khi hiện thông báo lỗi (xuất hiện lỗi này thì dừng lệnh tại đây)
  • Else   nếu không thỏa mãn nội dung trong IF thì sẽ thực  hiện thao tác sau (tức là kết quả của hàm COUNTIF = 0)

Lưu ý là khi mở đầu bằng IF thì kết thúc phải có End IF (vị trí End  If nằm sau dòng msgbox “Hoan thanh”)

Lỗi thứ 2: Kiểm tra nhập đủ nội dung yêu cầu trước khi lưu

Để xác định nội dung yêu cầu đã có dữ  liệu chưa, chúng ta làm như sau:

pic02 4 1

Tại ô C5 của sheet Điều kiện, dùng hàm:

=IF(OR(Phieu_Thu!B6=””,Phieu_Thu!B8=””,Phieu_Thu!B10=””,Phieu_Thu!B12=””,Phieu_Thu!B14=””),0,1)

Từng đối tượng trong hàm OR sẽ là một nội dung yêu cầu  phải nhập dữ liệu. Nếu bất kỳ yêu cầu nào chưa nhập ( =”” ) thì sẽ cho kết quả = 0, còn nếu tất cả các yêu cầu đều đã nhập thì sẽ cho kết quả = 1

Trong cửa sổ VBA, với Sub Luu_Phieu_Thu chúng ta viết code như sau:

pic03 4

* Lưu ý:

  • Khi viết tiếp 1 hàm IF lồng trong hàm IF trước đó thì chúng ta sử dụng ElseIf chứ không phải là IF
  • Mỗi hàm IF sẽ có mở đầu là IF, kết thúc là End IF. Nếu lồng 1 hàm if khác đồng thời thì sử dụng ElseIF ở giữa.
  • Nếu viết 2 hàm IF riêng biệt thì sẽ dùng 2 lần IF và 2 lần End IF, và viết tách rời khỏi nhau.

Để rèn luyện kỹ năng bẫy lỗi, chúng ta cần luyện tập nhiều để tùy biến theo từng trường hợp.

Đánh giá về việc sử dụng SheetForm

1. Ưu điểm:

  • Dễ sử dụng, trang trí
  • Ít lỗi, dễ viết code, code ngắn
  • Chỉ sử dụng các đối tượng: Sheet, Range, Cell mà không cần quan tâm tới các đối tượng trong UserForm như Label, textbox, combobox, command button… => Giảm đi rất nhiều nội dung cần học về VBA  mà vẫn có hiệu quả tương đương.
  • Với những form lớn, phức tạp, nhiều đối tượng cần nhập dữ liệu thì việc sử dụng sẽ dễ hơn rất nhiều so với UserForm

2. Nhược  điểm:

  • Không phù hợp  với đối tượng muốn làm việc chuyên sâu về VBA
  • Mỗi SheetForm sẽ phải làm trên 1 Sheet => Làm tăng số lượng Sheet, tăng dung lượng File hơn so với UserForm
  • Việc quản lý Điều kiện sẽ phức tạp khi có nhiều SheetForm => cần quản lý điều kiện một cách khoa học
  • Việc bảo vệ Sheet không tốt bằng bảo vệ trong VBA, nên cần lưu ý trong quá trình sử dụng tránh bị sửa, xóa, thay đổi form sheet.

3. Ứng dụng

Ứng dụng trong nhiều trường hợp cần đến làm việc trên Form như:

  • Lập các chứng từ kế toán: Phiếu thu, phiếu chi, phiếu nhập kho, phiếu xuất kho…
  • Lập các form khi thêm mới dữ liệu, ví dụ như:

pic05 3

Cảm ơn các bạn đã theo dõi Seri bài viết này.

Chúc các bạn ứng dụng SheetForm vào công việc được hiệu quả.

Đừng bỏ lỡ: khóa học Excel kế toán với các chuyên gia


Tác giả: duongquan211287

·
·
·
Bài viết khác của cùng tác giả

  • Tất cả
  • Python
  • SQL
  • VBA

3.000.000VND 1.800.000VND
PYXL101
Xem chi tiết

3.000.000VND 1.600.000VND
SQL100
Xem chi tiết

499.000VND 199.000VND
PY100
Xem chi tiết

Bài viết liên quan

Tìm chuỗi gần giống trong Excel với Levenshtein distance

Cách tính lịch trả nợ với dư nợ giảm dần trong Excel

Cách sử dụng hàm PMT, tính toán số tiền trả góp trong Excel

Cách sử dụng hàm Lambda trong Excel để viết hàm tự tạo

Bài viết tập trung tài liệu từ kênh YouTube Học Gia Sư Kế Toán

Tạo công cụ theo dõi Portfolio tiền điện tử với Excel và Power Query


Khóa học liên quan

Khóa học Tự động hóa Excel với lập trình VBA cho người mới bắt đầu
Chi tiết khóa học

Khóa học Lập trình VBA nâng cao trong Excel
Chi tiết khóa học

  

© Học Gia Sư Kế Toán. All rights reserved.

My Lê

My Lê

My Lê tên thật là Mê Ly đã có 10 năm kinh nghiệm trong ngành kế toán.

Next Post
Sử dụng bộ lọc nâng cao trong Excel – Ví dụ và công thức vùng điều kiện

Sử dụng bộ lọc nâng cao trong Excel – Ví dụ và công thức vùng điều kiện

Recommended

Phương pháp hạch toán tài khoản 512- Doanh thu bán hàng nội bộ

3 tháng ago
Hướng dẫn cách tạo lập Calculated Fields và Hàng tính tổng trong Access 2016

Hướng dẫn cách tạo lập Calculated Fields và Hàng tính tổng trong Access 2016

3 tháng ago

Tin mới nhất

    Fanpage

    • Liên hệ
    • Giới thiệu
    • Đặt quảng cáo
    Liên hệ chúng tôi qua email : hocgiasuketoan.com@gmail.com

    © 2022 Hocgiasuketoan Premium magazine by Hocgiasuketoan

    No Result
    View All Result
    • Trang chủ
    • Giới thiệu
      • Học gia sư kế toán tại Hà Nội
    • Excel
    • Kế toán
    • Kinh nghỉệm
    • DAX
    • VBA
    • Văn bản
    • Access
    • Liên hệ
      • Chính sách bảo mật

    © 2022 Hocgiasuketoan Premium magazine by Hocgiasuketoan

    Welcome Back!

    Login to your account below

    Forgotten Password?

    Retrieve your password

    Please enter your username or email address to reset your password.

    Log In