Hội thảo thường kỳ về VBA tại TPHCM vào các ngày CN từ ngày 17/5/15 đến ngày 31/5/15

Liên hệ QC
Hình ảnh ngày 24/05

VBA-04-02_zpsulrqgq9p.jpg


VBA-04-05_zpsz0ojilvu.jpg


VBA-04-04_zpsaddb3qaw.jpg


VBA-04-03_zpse5pnkfaf.jpg


VBA-04-01_zpsntih0kxc.jpg


DSC_0195_zps80v2vxv5.jpg
 
Ngày 31/5/2015 đã có 13 người đăng ký và đóng tiền, anh/chị nào đã biết VBA mà muốn tham dự buổi hội thảo ngày 31/5 thì nhanh tay đăng ký nha.
Chủ đề: Thủ tục cho Sự Kiện và hướng dẫn làm sổ chi tiết tài khoản từ sổ nhật ký chung bằng VBA
Chủ đề này không chỉ dành riêng cho kế toán mà còn dành cho tất cả ngành khác có sử dụng excel, dựa trên 1 số sổ kế toán và mở rộng thêm 1 số ngành có mẫu sổ tương tự.
Vì thế anh/chị nào đang làm sổ sách bằng excel mà muốn giảm thời gian làm thì hãy dùng VBA, và đăng ký tham gia buổi hội thảo ngày 31/5/2015 để hổ trợ cho công việc của mình.
Đăng ký tại topic này hoặc qua hotline: 0938.021.119.
 
Ngày 31/5 bổ sung nội dung "Thủ tục có tham số truyền" và sơ lược về "Tạo add-in"
 
Hình ảnh ngày 31/05

Giảng

VBA-31-May-04_zpslpqxhbxj.jpg




Giải



Và nghe



 
Giảng VBA ngộ ngộ ...

[video=youtube;L7K9-lGBPDY]https://www.youtube.com/watch?v=L7K9-lGBPDY[/video]
 
Nội dung mới đưa vào lần này được mọi người theo dõi 1 cách hào hứng. Các bạn đã có thể tạo 1 báo cáo, và hiểu cách hoạt động của nó để tự tạo ra 2 báo cáo khác.

Đặc điểm của các báo cáo này là loại báo cáo động: thay tài khoản, thay loại sổ, thay mã khách hàng, đổi tháng, đổi ngày bắt đầu kết thúc, là ra báo cáo mới.

Ngoài ra, việc áp dụng thủ tục có tham số truyền khiến cho không mất công viết đi viết lại 1 đoạn lệnh cho nhiều thủ tục khác nhau.
 
Lần chỉnh sửa cuối:
Gởi các bạn tham gia lớp VBA khóa rồi bài tập sub có tham số truyền( hơi nâng cao) nếu bạn nào có hứng thú thì xem
File này có tổng cộng là 4 sheet, sheet chitietkhach là sheet tổng hợp từ 3 sheet còn lại.

Lấy tất cả các mẫu tin từ các sheet ban Hang, Thu Tien Mat NH VND qua sheet chitietkhach với điều kiện là Mã KH và trong khoảng thời gian từ ngày đến ngày

Cấu trúc của các sheet ban Hang, Thu Tien Mat NH VND khác nhau. nhưng điều có chung điểm giống nhau là có cùng các cột để đưa qua sheet chitietkhach
Yêu cầu là viết 1 sub trích lọc với các tham số truyền vào để sử dụng lấy dữ liệu được từ 3 sheet đó
code bên dưới không bẫy các lỗi, đơn thuần chỉ là muốn truyền tham số vào sub

Mã:
Sub Main()[INDENT]Dim Arr(1 To 20000, 1 To 6)[/INDENT]
[INDENT]Dim Rng As Range, DongCuoi As Long, Makh As String, k As Long, TuNgay, DenNgay[/INDENT]
[INDENT]Sheet9.Range("A12:Z100000").Clear[/INDENT]
[INDENT]    Makh = UCase(Sheet9.Range("E5").Value)[/INDENT]
[INDENT]    TuNgay = Sheet9.Range("B5").Value[/INDENT]
[INDENT]    DenNgay = Sheet9.Range("B6").Value[/INDENT]
[INDENT]    k = 0[/INDENT]
[INDENT]    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[/INDENT]
[INDENT]    DongCuoi = Sheet2.Range("A65000").End(xlUp).Row[/INDENT]
[INDENT]    Set Rng = Sheet2.Range("A2:P" & DongCuoi)[/INDENT]
[INDENT]    Call TrichLoc(Arr, Makh, TuNgay, DenNgay, Rng, k, DongCuoi, 2, 1, 4, 15, 16)[/INDENT]
[INDENT]    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[/INDENT]
[INDENT]     k = k + 1 'chua ra dong trong[/INDENT]
[INDENT]    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[/INDENT]
[INDENT]    DongCuoi = Sheet5.Range("A65000").End(xlUp).Row[/INDENT]
[INDENT]    Set Rng = Sheet5.Range("A1:G" & DongCuoi)[/INDENT]
[INDENT]    Call TrichLoc(Arr, Makh, TuNgay, DenNgay, Rng, k, DongCuoi, 1, 2, 3, 6, 7)[/INDENT]
[INDENT]    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[/INDENT]
[INDENT]     k = k + 1 'chua ra dong trong[/INDENT]
[INDENT]    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[/INDENT]
[INDENT]    DongCuoi = Sheet11.Range("B65000").End(xlUp).Row[/INDENT]
[INDENT]    Set Rng = Sheet11.Range("A1:G" & DongCuoi)[/INDENT]
[INDENT]    Call TrichLoc(Arr, Makh, TuNgay, DenNgay, Rng, k, DongCuoi, 2, 1, 4, 6, 10)[/INDENT]
[INDENT]    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''[/INDENT]
[INDENT]    Sheet9.Range("A12").Resize(k, 6).Value = Arr[/INDENT]
End Sub

Mã:
Sub TrichLoc(Arr, Makh As String, TuNgay, DenNgay, Rng As Range, ByRef k As Long, DongCuoi As Long, vt1 As Long, vt2 As Long, vt3 As Long, vt4 As Long, vt6 As Long)
Dim i As Long
k = k + 1
Arr(k, 1) = Rng(1, vt1)
Arr(k, 2) = Rng(1, vt2)
Arr(k, 3) = Rng(1, vt3)
Arr(k, 4) = Rng(1, vt4)
Arr(k, 5) = "A"
Arr(k, 6) = Rng(1, vt6)


For i = 2 To DongCuoi
    If UCase(Rng(i, vt3).Value) = Makh And TuNgay <= Rng(i, vt1) And DenNgay >= Rng(i, vt1) Then
        k = k + 1
        Arr(k, 1) = Rng(i, vt1)
        Arr(k, 2) = Rng(i, vt2)
        Arr(k, 3) = Rng(i, vt3)
        Arr(k, 4) = Rng(i, vt4)
        Arr(k, 5) = ""
        Arr(k, 6) = Rng(i, vt6)
      End If
Next
End Sub
 

File đính kèm

  • File cong no.xlsb
    714.7 KB · Đọc: 9
Web KT
Back
Top Bottom