Cho mình hỏi về VBA, excel

Liên hệ QC

dragonboy

Thành viên chính thức
Tham gia
3/9/07
Bài viết
98
Được thích
21
Chào các bạn %#^#$
Mình có vấn đề thế này.
Mình đang làm file tổng hợp từ các file có chứa các chứng từ gốc sang sổ NKC
vì chứng từ gốc quá nhiều (nhà mình kinh doanh xăng dầu nên hđ bán ra nhiều) nên mình muốn tổng hợp lại cứ 5 ngày lại tổng cộng lại một lần (tiết kiệm giấy in ra, nhất là khi viết phiếu thu chi).
với điều kiện tổng hợp lại cho từng loại mặt hàng riêng biệt (cứ coi như chỉ bán ra 3 loại: xăng, dầu, nhớt)
Mình đã áp dụng hàm : Do While Not IsEmpty(Sheet2.Cells(i, 1)) i=i+1 loop
và thực hiện 2-3 vòng lặp lồng nhau.
nhưng không thực hiện được
toàn báo lỗi
mình mới chỉ biết đến VBA thông qua diễn đàn này thôi, nên còn non.
Mình rất mong các ban giúp mình đưa ra giải pháp. Nếu được cho file đi kèm luôn cho mình dễ hiểu nhé
cảm ơn mọi người trước }}}}}
 
/-(ãy đưa Ví dụ lên

Mình đang làm file tổng hợp từ các file có chứa các chứng từ gốc sang sổ NKC vì chứng từ gốc quá nhiều
(/ì đây không là webKetoan nên rất nhiều người có thể hiểu chứng từ gốc của bạn có nội dung là zì!, /(/hưng cũng không ít người chưa hình dung cái nội dung quý báu & rất nhiều này của bạn;
Bạn nêu các trường cần thiết tổng hợp trong chứng từ gốc đi; mình nghĩ như vậy bạn sẽ nhanh chóng nhận được ~ chân tình của người khác!

(húc &ui!
 
Lần chỉnh sửa cuối:
Upvote 0
}}}}} Cảm ơn anh rất nhiều vì đã sớm hồi âm
em xin tiếp thu ý kiến đóng góp của anh.
em xin gửi file đính kèm luôn đẻ mọi người tiện tham khảo và góp ý cho em.
em định tổng hợp từ các sheet->sheet(NKC)
vì chứng từ ở sheet(bán ra) có thể quá nhiều nên em có ý định là cộng gộp lại 5 ngày một cho từng mặt hàng. nhằm tiết kiệm thôi các anh ah
Các anh chị tham khảo và giúp đỡ em nhé.
 

File đính kèm

Upvote 0
/(hông báo lỗi mới là lạ!, này nha:

Mã:
[b]Sub banra_NKC()[/b]
Dim i, j, k, ngay, thang, l As Integer
Dim tienchuavat, vat, lpgt, tientt, tenhh
Dim temp1, temp, temp2, sl
i = 7
j = 7
''''''''''''''''''''''''''''''''''''
Do While Not IsEmpty(Sheet39.Cells(i, 1))
'kiem tra dieu kien ngay thang
temp = Day(Sheet39.Cells(i, 1))
tenhh = Sheet39.Cells(i, 7)
''''''''''''''''''''''''
If ((Sheet39.Cells(i, 1) > temp1) Or (Sheet39.Cells(i, 7) <> temp2)) Then 'if1
    temp1 = Sheet39.Cells(i, 1)
    tienchuavat = Sheet39.Cells(i, 11)
    vat = Sheet39.Cells(i, 12)
    lpgt = Sheet39.Cells(i, 13)
    tientt = Sheet39.Cells(i, 14)
    temp2 = Sheet39.Cells(i, 7)
    sl = Sheet39.Cells(i, 8)
    l = i + 1
    Do While Not IsEmpty(Sheet39.Cells(l, 1))
'''''''''''''''''''''''''''''
        
[B][U][U][I][COLOR="Blue"] ' Đoạn này mình đã lươt đi rồi[/COLOR][/I][/U][/U][/B]
''''''''''''



''''''''''''''''''''''''''''''''''''''
End If 'if1
i = i + 1
Loop  'Loop ket thuc

[b]End Sub[/b]

Sao chạy được do vòng lặp Do bị If bắt chéo chân lại! theo kiểu:
Mã:
[b]Sub AnComDiNha[/b]
 If ChuaAnCom then
   Do 
    
 '   [Làm zì đó = vài dòng lệnh]

   End If
 Loop
 
[b] End Sub[/b]

Mình xin khuyên bạn rằng,
Dùng fím {TAB} trong ~ trường hợp như vậy; tiện trong việc kiểm soát bản thân & kiểm soát máy;
Sau mỗi lần viết xong đoạn lệnh nên biên dịch trước khi cho đứa con tinh thần của bạn chạy nhảy!!:-=
 
Upvote 0
hix..
THì nói rồi, em mới chỉ biết đến VBA thông qua diễn đàn này không lâu mà
Những sai lầm buồn cười đó là ko tránh khỏi.
em đưa ra mong các anh giúp nhất là copy từ sheet(banra)-->NKC
mong sớm nhận được sự đóng góp ý kiến
 
Upvote 0
sao hổng có ai tra lời em vậy àh

Không được nhiều thì cũng cho em giải pháp để gộp 5 ngày lại đi chứ
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
dragonboy đã viết:
sao hổng có ai tra lời em vậy àh

Không được nhiều thì cũng cho em giải pháp để gộp 5 ngày lại đi chứ

Bạn hãy từ từ, mọi người còn có công việc của mình. Khi nhờ người khác giúp thì bạn phải kiên nhẫn và tôn trọng mọi người!!!.

Thân,
SG
 
Upvote 0
To DragonBoy
Bạn nên xem lại
1/ Xóa hết tất cả các link hay name sai, if có thể thì chuyển sang Unicode
2/ Định dạng ngày lại cho chuẩn (len)
3/ Bạn muốn NKC sẽ lấy cái gì, xin cụ thể 5 dòng, không có sh nào có ĐK mà NKC lấy từ đâu.
4/ Theo tôi, bạn chỉ cần 1 sh Data nhập liệu và những sh Chi tiết mua, bán, có V, o V và NKC sẽ lấy từ 1 sh Data. Còn bạn muốn vậy thì bạn làm xong điều 4/ trên, tôi sẽ HD.
 
Upvote 0
(/ẩn phải hỏi bạn tiếp

Trong sheets NKC của bạn có 8 cột, mình tạm đánh số từ C1-C8
(òn bên sheet 'Ban ra' cũng như 'mua vo' lại có nhiều cột họn & cái quan trong ở đây là mình không biết chép từ cột nào bên BRa đến cột C(i) nào trong NKC (?) - Có khi câu hỏi này của mình quá khờ thì thông cảm nha! Cho mình biết với, được không (?). Âu cũng là tập tành vài câu kế toán để còn xài sau này vậy mà!
 
Upvote 0
1/ File của bạn có quá nhiều name không cần thiết khỏang hơn 50 cái gì đó, phải xóa hết đi nếu không cứ mỗi lần mở file nó lại đòi Update
2/ File của bạn gán macro không có trong Modul nên không thể thực hiện được
3/ Khi copy sang NKC, các tài khỏan bạn gán không hợp lý
4/ Bạn dư một macro gán cho nút xóa vì macro này bạn đã để trong thủ tục Muavao_NKC nên thừa cả nút "Xóa"

Đây là file tôi đã sửa lại theo tất cả các tiêu chí ở trên. Thực hiện như sau :
a/ Nhấn nút " Mua vào " để copy từ sh Mua vào sang NKC
b/ Nhấn tiếp nút "Bán ra" để copy tiếp xuống phần dưới của Mua vào và tự động short lại theo ngày ghi sổ

Chúc bạn thực hành như ý muốn
Thân
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom