Code lập sổ NKC. Rất mong các Pro giúp . (1 người xem)

  • Thread starter Thread starter chicpt
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

chicpt

Thành viên mới
Tham gia
18/1/12
Bài viết
24
Được thích
4
Nhờ giải thích giúp Code lập sổ NKC.

Chân thành cảm ơn sự trợ giúp. ProThương cho trót Pro ơi!
- Những dòng còn trống "NKC" Pro bổ sung nội dung luôn hi.
- Làm phiền Pro bỏ thêm ít thời gian chú thích Code cho mình hiểu với. Mục đích học hỏi để ứng dụng cho việc sổ sách tiếp thêo.
Chân thành cảm ơn.!
 

File đính kèm

Lần chỉnh sửa cuối:
Mẫu nhật ký chung của bạn không đúng quy chuẩn, bạn tham khao file mình gửi xem nha
 

File đính kèm

Upvote 0
Vì bạn chỉ có mấy dòng của tháng 1 nên không Test được, giờ mình sửa 1 số dòng thành tháng 2 mới phát hiện thiếu phần công tháng nên mình bổ xung
 

File đính kèm

Upvote 0
Giải thích giúp Code Data NKC

Chân thành cảm ơn sự hỗ trợ của Quý Pro. Làm phiền Pro giúp mình luôn nhá.
- Mình muốn các dòng còn trống của NKC được gán dữ liệu tương ứng luôn được không Pro ơi!

- Mình học để ứng dụng code đó để lập thêm sổ sách khác, nên thành thật mong Quý Pro chú thích bên cạnh Code dùm . Vì mình còm kém Code nhiều. Mong được học hỏi. Chân thành cảm ơn
 

File đính kèm

Upvote 0
Bạn để ý dòng trống đó chính là dòng thông tin của chứng từ, nếu đưa dữ liệu vào đó thì những chứng từ có 2 định khoản trở lên sẽ đưa vào đâu.
 
Upvote 0
Chân thành cảm ơn Sealand. Ý mình là muốn diễn giải cho chi tiết hơn hơn trong NKC. Mình luôn lắng nghe sự góp ý.

Mong Sealand chú thích giúp Code NKC để mình thử ứng dụng lập Sổ Cái. Cảm ơn trước nha!.
 
Upvote 0
Bạn lưu ý là mình đang kẻ bảng bằng Condition Format nếu bạn delete dòng thì vùng định dạng sẽ ít đi. Khi đó 1 số dòng không được kẻ bảng, bạn sử lý bằng chép định dạng xuống nha.
Dưới đây mình xin diễn giải code của bài, bạn tham khảo nha:

[GPECODE=vb]'******************************************
'********* GiaiphapExcel.com **************
'******************************************
Option Explicit
Sub NKChung()
'Khai bao cac bien can dung
Dim Tm, Kq(), i, j, x
Dim Dic As Object
Dim Thg, SThg, Snam
'Tao 1 tu dien de ghi nho danh sach cac chung tu va phong khi can cong tong theo chung tu
Set Dic = CreateObject("Scripting.Dictionary")
'Sap xep lai du lieu theo thang va so chung tu
With Sheet1
.Range(.Rows(3), .Rows(65536).End(3)).Sort Key1:=.Range("C4"), Order1:=1, _
Key2:=.Range("B4"), Order2:=1, Key3:=.Range("H4"), Order3:=1, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:=xlSortNormal
'Gan bien Tm bang toan bo du lieu de lam viec tren bien mang toc do cao hon
Tm = .Range(.[A4:AG4], .[A65536:AG65536].End(3))
End With
For i = 1 To UBound(Tm, 1)
'Neu Cot Ngay <>"" va dinh khoan khac "" va chua co trong tu dien thi them vao chung tu moi
If Tm(i, 8) <> 0 And Tm(i, 20) <> "" And Tm(i, 21) <> "" And Not Dic.exists(Tm(i, 4) & Tm(i, 8)) Then
j = j + 1: x = x + 1
Dic.Add Tm(i, 4) & Tm(i, 8), j
ReDim Preserve Kq(1 To 8, 1 To x)
Kq(1, x) = Tm(i, 1)
Kq(2, x) = Tm(i, 4)
Kq(3, x) = Tm(i, 8)
Kq(4, x) = Tm(i, 7)
Kq(5, x) = Tm(i, 33)
End If
'Them chi tiet cho chung tu
If Tm(i, 20) <> "" And Tm(i, 21) <> "" Then
x = x + 1
ReDim Preserve Kq(1 To 8, 1 To x)
Kq(6, x) = Tm(i, 20)
Kq(7, x) = Tm(i, 21)
Kq(8, x) = Tm(i, 17)
SThg = SThg + Tm(i, 17)
Snam = Snam + Tm(i, 17)
End If
'Neu chua co thang thi dat thang bang thang bat dau
If Thg = "" Then
Thg = Tm(i, 3)
'Neu het du lieu thi them dong cong thang va cong nam
ElseIf i = UBound(Tm, 1) Then
ReDim Preserve Kq(1 To 8, 1 To x + 2)
Kq(1, x + 1) = "<<>>"
Kq(5, x + 1) = "C" & ChrW(7897) & "ng th" & ChrW(225) & "ng " & Thg
Kq(8, x + 1) = SThg
Kq(1, x + 2) = "<<>>"
Kq(5, x + 2) = "C" & ChrW(7897) & "ng n" & ChrW(259) & "m "
Kq(8, x + 2) = Snam
'Neu sang thang moi thi them dong cong thang
ElseIf Thg <> Tm(i + 1, 3) Then
x = x + 1
ReDim Preserve Kq(1 To 8, 1 To x)
Kq(1, x) = "<<>>"
Kq(5, x) = "C" & ChrW(7897) & "ng th" & ChrW(225) & "ng " & Thg
Kq(8, x) = SThg
Thg = Tm(i + 1, 3)
SThg = 0
End If
Next

Sheet2.[A9:H65536].ClearContents 'Xoa Nhat ky cu
'Dien so lieuj moi
Sheet2.[A9].Resize(UBound(Kq, 2), UBound(Kq, 1)) = Application.Transpose(Kq)
'Xoa cac bien
Erase Kq
Set Dic = Nothing
End Sub[/GPECODE]

Bạn lưu ý là code sổ cái sử lý khác Code này vì cấu trúc sổ cái hoàn toàn khác.
 
Lần chỉnh sửa cuối:
Upvote 0
Chân thành cảm ơn Sealand nhiều lắm. Nhưng cho mình hỏi thêm tí nha.

- Cột "Ngày ghi sổ " và "Ngày chứng từ" trong "NKC" không forrmat theo "dd/mm/yyyy" .
 
Lần chỉnh sửa cuối:
Upvote 0
- Cột "Ngày ghi sổ " và "Ngày chứng từ" trong "NKC" không forrmat theo "dd/mm/yyyy" .

Cần định dạng ra sao bạn chọn 2 cột đó rồi định dạng bình thường mà (Nên canh giữa cho 2 cột này). Bạn hoàn thiện thêm theo ý muốn.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom