Kế toán trên Excel 5: Macro để cập nhật sổ cái tự động

Cho hiển thị tab DEVELOPER

Trong Ms Excel, cho hiển thị tab DEVELOPER để thao tác với macro bằng cách thực hiện như sau: Chuột phải trên ribbon => Chọn Customize the Ribbon, màn hình sau xuất hiện:
mdoule2

đánh dấu ô Developer.

Nhập chương trình

Trên tab DEVELOPER, kích chuột vào Visual Basic để xuất hiện môi trường Visual basic for Application:

module1

Chọn menu Insert => Module rồi copy đoạn chương trình sau đây vào.


Sub CapNhat(TenSo As String, Optional HaiDong As Boolean = False)
 Const c = 10
 Const dd = 1000 ' So dong xoa du lieu cu
 Dim d As Integer
 Dim o, r As Range
 Dim sh As Worksheet
 Dim n As Integer
 
 If Len(TenSo) = 0 Then
 Exit Sub
 End If
 Set sh = Worksheets(TenSo)
 Set o = sh.Range("oDau")
 n = Range("oDongCuoi").Value - Range("oDongDau").Value + 1
 If HaiDong Then
 d = 1
 n = n * 2
 Else
 d = 0
 End If
 
 ' xoa du lieu cu
 sh.Range(Cells(o.Row + d + 1, o.Column), Cells(o.Row + dd, o.Column + c)).Delete Shift:=xlUp
 ' chon vung cong thuc can chep
 sh.Range(o, Cells(o.Row + d, o.Column + c)).Select
 ' sao chep cong thuc xuong
 Selection.AutoFill Destination:=sh.Range(o, Cells(o.Row + n - 1, o.Column + c)), Type:=xlFillDefault
 ' loc
 i = 1
 While (i < c) And (Len(sh.Cells(o.Row, i).Value) > 0)
 i = i + 1
 Wend
 sh.Range(o, Cells(o.Row - 1, o.Column + i - 1)).Select
 
 Selection.AutoFilter field:=5, Criteria1:="<>"
 o.Select
End Sub
 
Sub CapNhatSo()
 Dim d As Worksheet
 Set d = ActiveSheet
 
 Select Case Left(d.Name, 5) '------------------------------
 Case "S03a-" ' Nhat ky chung
 CapNhat d.Name, True
 Case "S03b-" ' So cai
 CapNhat d.Name, False
 Case "S03a1" ' Nhat ky thu tien
 CapNhat d.Name, False
 End Select
End Sub

Sửa các đoạn “S03a-“, “S03b-“,… (phần từ dòng 36 đến dòng 43 ở trên) thành tên các sheet sổ.
Ví dụ: nếu mới chỉ có sổ cái, sheet sổ cái tên là SoCai thì đoạn mã trên sửa như sau:

Select Case d.Name
     Case "SoCai"
          CapNhat d.Name, False
End Select

đóng môi trường VBA. Quay lại Excel và kích chuột vào Macros => kích chuột vào tên Macro CapNhatSo => kích Options => bấm Shift G để gán phím tắt cho macro => Ok.
module3

Hoàn thành.

Mỗi khi cần cập nhật sổ cái: tới sheet sổ cái => Nhấn tổ hợp phím Ctrl-Shift-G để cập nhật.

Advertisements

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s