Tạo dòng "Tổng cộng cuối trang"

Liên hệ QC

handung107

Thành viên gắn bó
Thành viên danh dự
Tham gia
30/5/06
Bài viết
1,630
Được thích
17,436
Nghề nghiệp
Bác sĩ
Tạo ra dòng 'tổng đến hết trang' và 'số mang sang' cho bảng tính nhiều trang

Vọng Phúc​

Khi in bảng tính trong Exel, làm thế nào để khi in ra các trang trong 1 sheet đều có dòng cuối trang của sheet đó ( dòng này là dòng tổng cộng do mình tạo ra không phải footer) ?

Ví dụ như trên sổ quỹ tiền mặt, cuối mỗi trang ta phải có dòng tổng, và sang đầu trang sau phải có số dư mang sang từ trang trước

Dòng tổng cộng này là rất cần thiết với thủ quỹ hay kế toán bằng tay trong việc cộng sổ hay kiểm tra sai sót. Đối với kế toán máy thì có thể bỏ qua

Muốn tạo ra dòng tổng cộng này, và cả dòng mang sang từ trang trước, ta thực hiện một macro đặt page setup và cố định độ cao dòng, mục đích là để có số dòng cố định trên 1 trang giấy in. Sau đó ta thực hiện insert dòng tổng phía dưới trang, insert dòng tiêu đề của trang sau, insert dòng mang sang từ trang trước, và đặt công thức tính toán vào các ô tương ứng

Trong trường hợp ta cần tính toán lại, hoặc thêm bớt dòng dữ liệu, nên ta cũng cần làm một cái macro ngược lại, tức là xóa đi những dòng dữ liệu đã thêm vào
 
file chèn dòng tính tổng cuối trang như EndPageSum_tigertiger thì hay quá
nhưng tính tổng theo từng loại mặt hàng thì làm sao? (vd: lấy cột MaHang làm chuẩn, sau khi sắp xếp thì chèn dòng tổng cuối mỗi loại mặt hàng). em đang cần cái này lắm,

Dùng chức năng Subtotal có sẵn trong EXCEL, bạn ah

+ Đầu tiên sắp xếp theo MaHang (như bạn viết)

+ menu: Data \ Subtotal .... -> chọn :
--->At exchange in: MaHang
--->use function: SUM
--->Add subtoatl to: <tên Cột muốn tính tổng>

Thế là OK
 
Upvote 0
nếu như mình tính thêm cột nữa thì làm sao. có cách nào nhập số cột cần tính bên sheet temp được không? nếu như làm được thì có thể ứng dụng file này trong tất cả trường hơp khác
 
Upvote 0
Tigertiger file của bạn làm rất rất hay, nhưng khi thay đổi kích thước hàng thì trang nhảy tùm bậy liền (khoản 5 hàng). Nhưng dù sao nó cũng là cái mình đang cần. Cảm ơn bạn nhiều nhiều!!!!!!!!
 
Upvote 0
Xin gửi các bạn File Add-Ins.
Cộng tổng cuối từng trang và các lựa chọn, không phụ thuộc vào chiều cao dòng, tự động thêm HPageBreak vào những trang bị nhỡ do cỡ dòng thay đổi.
- Cộng theo các cột cần cộng
- Chuyển kết quả cuối trang trước sang đầu trang sau hoặc cộng dồn các trang trước đặt vào đầu trang sau.
- Định dạng dòng chèn thêm vào.
- Xoá đi các dòng đã chèn vào ở các bước trước
- Lưu các thiết lập cho lần làm việc sau.
Các bạn test thử, hiện nay tôi không có File nào có nhiều dữ liệu để thử nên chưa dám chắc chắn nó làm việc hoàn hảo, có gì xin cho ý kiến.
 

File đính kèm

  • BoTroExcel.rar
    53 KB · Đọc: 411
Upvote 0
Xin gửi các bạn File Add-Ins.
Cộng tổng cuối từng trang và các lựa chọn, không phụ thuộc vào chiều cao dòng, tự động thêm HPageBreak vào những trang bị nhỡ do cỡ dòng thay đổi.
- Cộng theo các cột cần cộng
- Chuyển kết quả cuối trang trước sang đầu trang sau hoặc cộng dồn các trang trước đặt vào đầu trang sau.
- Định dạng dòng chèn thêm vào.
- Xoá đi các dòng đã chèn vào ở các bước trước
- Lưu các thiết lập cho lần làm việc sau.
Các bạn test thử, hiện nay tôi không có File nào có nhiều dữ liệu để thử nên chưa dám chắc chắn nó làm việc hoàn hảo, có gì xin cho ý kiến.
Không thể test thử được, bởi vì tôi không đọc được tiếng Việt trong cái menu của Addin này. Bạn có thể làm mấy cái chữ đó bằng font Unicode không?

Thêm một cái thắc mắc. Addin này là của ai? Tại sao nội dung của mục thông tin giống y chang cái About của Ultimate Addin:
000-890.jpg
Sao kỳ vậy?
 
Upvote 0
Không thể test thử được, bởi vì tôi không đọc được tiếng Việt trong cái menu của Addin này. Bạn có thể làm mấy cái chữ đó bằng font Unicode không?
Cái này là do máy tính của bạn chưa được cài đặt phần Tiếng việt cho Windows,Bạn tham khảo bài viết của tôi ở Link này nhé. http://www.giaiphapexcel.com/forum/showthread.php?p=138014#post138014
Tôi tuyệt giao với tất cả các loại Font chữ lằng nhằng, tất cả đều theo chuẩn Unicode, Tất cả các Menu và Caption đều được viết bằng tổ hợp.
Thêm một cái thắc mắc. Addin này là của ai? Tại sao nội dung của mục thông tin giống y chang cái About của Ultimate Addin:
000-890.jpg

Sao kỳ vậy?
Đúng là chuyện lạ, có thế cái Add-In của Ultimate Addin cũng có Sub About trùng tên với Add-Ins của tôi, bạn thử remove cái Add-Ins đó đi rồi chạy thử lại xem thế nào. Tôi đảm bảo đây là Add-Ins Made in 100% của tôi, hì.
 
Upvote 0
OK. Tại vì trên máy tôi đã có Ultimate Addin, cài thêm cái của bạn vào, thì nó ra như cái tôi đã nói lúc nãy. Sau khi tôi gỡ hết 2 em ra, cho cái Bổ trợ vào trước, cái Ultimate vào sau, thì hết rồi. Của ai thì có About riêng của người đó.

Còn cái vụ language kia, có cách nào mà dùng Windows mặc định cũng xem được không? Tôi hỏi vậy, bởi vì tôi đã thấy có nhiều Addin (A-tool của anh Tuân chẳng hạn) đâu có cần chỉnh sửa gì đâu, vẫn đọc tiếng Việt (Unicode) ngon lành ?
 
Upvote 0
Xin gửi các bạn File Add-Ins.
Cộng tổng cuối từng trang và các lựa chọn, không phụ thuộc vào chiều cao dòng, tự động thêm HPageBreak vào những trang bị nhỡ do cỡ dòng thay đổi.
- Cộng theo các cột cần cộng
- Chuyển kết quả cuối trang trước sang đầu trang sau hoặc cộng dồn các trang trước đặt vào đầu trang sau.
- Định dạng dòng chèn thêm vào.
- Xoá đi các dòng đã chèn vào ở các bước trước
- Lưu các thiết lập cho lần làm việc sau.
Các bạn test thử, hiện nay tôi không có File nào có nhiều dữ liệu để thử nên chưa dám chắc chắn nó làm việc hoàn hảo, có gì xin cho ý kiến.

Muốn người khác cho ý kiến thì bạn nên bỏ cái VBA password đi. Có thể sẽ có code ngắn hơn, nhanh hơn và hiệu quả hơn đấy bạn à! Tất cả những tiện ích của bạn đều có sẵn code VBA và chia sẻ free trên diễn đàn GPE rồi. không tin thì bạn thử search mà xem.
 
Upvote 0
Còn cái vụ language kia, có cách nào mà dùng Windows mặc định cũng xem được không? Tôi hỏi vậy, bởi vì tôi đã thấy có nhiều Addin (A-tool của anh Tuân chẳng hạn) đâu có cần chỉnh sửa gì đâu, vẫn đọc tiếng Việt (Unicode) ngon lành ?
Có nhiều biện pháp can thiệp khi xây dựng menu windows, theo tôi được biết thì hệ thống menu sử dụng Font hệ thống, kể cả khi thiết kế trên VB6, rất nhiều người bỏ công sức ra để việt hóa, dùng nhiều công cụ phức tạp để chuyển đổi nhưng tôi chưa thấy cái nào hoàn hảo, được cái nọ lại mất cái kia. Microsoft đã cung cấp cho chũng ta những tiện ích mang tính bản địa tại sao ta không tận dụng, vừa chuẩn vừa thống nhất.
Bạn nói là cái A tool hiển thị tốt TV mà máy của bạn không cài bổ sung ngôn ngữ thì kể cũng lạ, theo tôi đoán thì người ta đã sử dụng đến các phép chuyển đổi, khi viết thì lằng nhằng toàn là những con số phức tạp sau đó mới chuyển thành ký tự, cái này tôi cũng đã thấy nhiều người làm nhưng tôi không khoái lắm vì không nhiều time.
Ngoài ra, sao bạn dám chắc là bằng Unicode, biết đâu trên máy của người thiết kế cùng cài trùng 1 font hệ thống giống trên máy của bạn, tôi để ý thì hầu hết các máy ở Miền Bắc đều cài bộ font của Vietkey, khi thiết kế người ta dùng bảng mã TCVN cũng vẫn hiển thị được.
Việc thiết lập windows bản địa như tôi đã nói ở link trên có nhiều lợi ích mà tôi thấy người Việt Nam chúng ta nên sử dụng:
- Khi truy cập web: Tự động đưa đến những link có hỗ trợ tiếng Việt (ví dụ như bạn gõ www.google.com thì lập tức nó nhảy thẳng đến [URL="http://www.google.com.vn"]www.google.com.vn[/URL] và toàn bộ giao diện là tiếng việt, Yahoo cũng thế....
- Nhiều ứng dụng bị nhầm lẫn giữa dấu thập phân và dấu phân nhóm hàng ngàn
- Một số cái khác được windows tự động dịch sang tiếng việt
Tuy nhiên khi cài đặt windows các nhà phân phối thường bỏ qua bước này mà chỉ Next và Next cho nhanh nên nhiều người bị thiệt thòi (số người biết tiếng anh ở VN còn hạn chế mà)
 
Upvote 0
Muốn người khác cho ý kiến thì bạn nên bỏ cái VBA password đi. Có thể sẽ có code ngắn hơn, nhanh hơn và hiệu quả hơn đấy bạn à! Tất cả những tiện ích của bạn đều có sẵn code VBA và chia sẻ free trên diễn đàn GPE rồi. không tin thì bạn thử search mà xem.
Ở đây tôi muốn xin ý kiến về tính năng là chính, còn việc sửa code thì tôi cũng như các bạn, chúng ta đều có thể tìm thấy những đoạn code chính trên web, rồi về thêm mắm thêm muối vào cho thêm phần sinh động, việc đặt pass cho file chủ yếu để tránh file bị sửa chữa qua nhiều người sử dụng rồi cứ réo cái người làm ban đầu lên mà la, còn việc học hỏi, trao đổi kinh nghiệm thì tôi và các bạn se luôn sẵn sàng chia xẻ phải không nào.
Tôi làm những cái này chỉ vì đầu năm rảnh chứ tôi cũng có sử dụng Excel mấy đâu, trước kia khi làm tư vấn còn hay dùng, bây h không làm nữa suốt ngày chỉ có word với mấy cái văn bản lằng nhằng thôi nên ngồi làm 1 số cái mà tôi thấy mọi người chưa thỏa mã.
Ví dụ: -Cái chuyển số thành chữ, hầu hết các code đều viết dưới dạng cố định, không linh hoạt mỗi khi chuyển đổi bảng mã, cái của tôi có thể tùy ý, dùng bảng mã nào cũng được, người dùng chỉ việc nhập 1 lần các từ và tiền tố, hậu tố là xong.
- Cái chèn tổng ộngc cuối trang tôi bổ sung thêm một số tính năng như đã nói ở trên vì còn thấy có người thắc mắc.
Có thể bạn thấy cái này không cần thiết với bạn hoặc không có ý kiến gì, nhưng tôi dám chắc rằng còn nhiều người cần do hoặc không có thời gian, hoặc không có kiến thức về lập trình vv và vv...
Nếu cần trao đổi, bàn bạc về giải pháp, code... chúng ta cùng trao đổi, mong sao người VN ngày càng có nhiều công cụ, tiện ích hữu hiệu hơn.
Thân.
 
Upvote 0
Sao mình down file ví dụ tham khoản của Cường mà sao không thấy gì a. Cũng chẳng báo lỗi luôn. Cường chỉ dẫn từng bước cho mình nhé. Hay do máy của mình bị lỗi.
 
Upvote 0
Oh, đã có bài cải tiến hơn rồi
thêm cả dòng cộng chuyển trang, đưa cả chữ ký vào từng trang
bạn xem ở post sau nhé:

http://www.giaiphapexcel.com/forum/showpost.php?p=49059&postcount=24
.
Bài này rất hay bạn tigertiger ah! cám ơn !!!
Nhưng nhờ bạn hướng dẫn thêm:
- Làm thế nào để thêm dòng thêm cột khác với định dạng của bạn mà vẫn chạy đúng tổng như vậy.
- Bạn làm thêm sheep hướng dẫn rồi post lên cho Anh em nhé.

Một lần nữa thay mặt anh Em xin cám ơn tigertiger
 
Upvote 0
Hàm đổi số ra chữ : VBA-Macro
Public Function bangChu(varNumber) As String
'Ham dung de doi so thanh chu
Dim Doc As String
Dim Number As String
Dim chu(20) As String
Dim I As Byte
Dim J As Byte
Dim Member As String
Dim LenNumber As Byte
Dim OldMember As String
On Error GoTo SAI
Number = Format(varNumber, "0")
Number = Trim(Number)
If Len(Number) = 0 Or IsNull(Number) Then
bangChu = "Khoâng coù soá tieàn"
GoTo Kthuc
End If
If Len(Number) > 12 Then
bangChu = "Soá tieàn quaù lôùn !"
GoTo Kthuc
End If
Do While Len(Number) Mod 3 <> 0
Number = "X" + Number
Loop
OldMember = ""
LenNumber = Len(Number)
For I = 0 To LenNumber - 1
Member = Mid(Number, I + 1, 1)
Select Case Member
Case "X"
chu(I) = ""
Case "9"
chu(I) = "chín"
Case "8"
chu(I) = "taùm"
Case "7"
chu(I) = "baûy"
Case "6"
chu(I) = "saùu"
Case "5"
If (I + 1) Mod 3 = 0 Then
Select Case OldMember
Case "0", "X"
chu(I) = "naêm"
Case Else
If OldMember <> "" Then chu(I) = "laêm"
End Select
Else
If (I + 1) Mod 3 = 2 Then
chu(I) = "naêm möôi"
Else
chu(I) = "naêm traêm"
End If
End If
Case "4"
chu(I) = "boán"
Case "3"
chu(I) = "ba"
Case "2"
chu(I) = "hai"
Case "1"
If (I + 1) Mod 3 = 0 Then
Select Case OldMember
Case "0", "1", "X"
chu(I) = "moät"
Case Else
If OldMember <> "" Then chu(I) = "moát"
End Select
Else
If (I + 1) Mod 3 = 2 Then
chu(I) = "möôøi"
Else
chu(I) = "moät traêm"
End If
End If
Case "0"
If (I + 1) Mod 3 = 0 Then
chu(I) = ""
Else
If (I + 1) Mod 3 = 2 Then
chu(I) = IIf(Mid(Number, I + 2, 1) = "0", "", "leû")
Else
chu(I) = IIf(Mid(Number, I + 2, 2) = "00", "", "khoâng traêm")
End If
End If
End Select
Select Case Member
Case "2", "3", "4", "6", "7", "8", "9"
If (I + 1) Mod 3 = 2 Then
chu(I) = chu(I) + " " + "möôi"
Else
If (I + 1) Mod 3 = 1 Then
chu(I) = chu(I) + " " + "traêm"
End If
End If
End Select

OldMember = Member
Next
Doc = ""
For I = 0 To LenNumber - 1 Step 3
For J = I To I + 2
Doc = Doc + IIf(chu(J) <> "", " " + chu(J), "")
Next
Select Case (LenNumber - I - 1)
Case 11, 10, 9:
Doc = Doc + IIf(Mid(Number, J - 2, 3) = "000", " ", " " + "tyû ")
Case 8, 7, 6:
Doc = Doc + IIf(Mid(Number, J - 2, 3) = "000", " ", " " + "trieäu ")
Case 5, 4, 3:
Doc = Doc + IIf(Mid(Number, J - 2, 3) = "000", " ", " " + "ngaøn ")
End Select
Next I
Doc = Trim(Doc + " ñoàng.")
Doc = UCase(Left(Doc, 1)) + Right(Doc, Len(Doc) - 1)
bangChu = Trim(Doc)
If Len(bangChu) > 2 Then
bangChu = Trim(bangChu)
End If
GoTo Kthuc
SAI:
MsgBox "Loãi : Khoâng coù soá lieäu ñeå ñoïc !", vbOKOnly, "Thoâng baùo loãi"
Kthuc:
End Function
 
Upvote 0
VBA-Macro:Hàm Tuổi
Public Function tuoi(mayTuoi) As String
Dim nam As String
Dim quaDat As String
If mayTuoi = "" Then
tuoi = "Baïn chö Nhaäp Naêm Sinh "
End If
nam = 2009 - mayTuoi
tuoi = nam
End Function
 
Upvote 0
TigerTiger đã phát triển lại CODE của Đào Việt Cường (gần như đổi hoàn toàn)

Giờ cho phép cộng chuyển trang, cộng dồn, rồi tổng quát hóa các trang cho phép ký lun (định nghĩa qua name ở sheet TEMP) - trang cuối có footer khác hẳn
Tigertiger đã thử với chiều cao dòng bất kỳ
Dĩ nhiên là các công thức cộng chuyển đúng với file ví dụ -> file khác thì cần sửa lại tt cột trong code cho hợp lý

PHP:
.....
mong nhận được góp ý

xem file gửi kèm - cách nhập thông số trong sheet TEMP


Cái cách này của TigerTiger quả thật rất hay.

Tôi đã cải tiến thêm một ít từ code của TigerTiger.

- Làm thêm menu.
- Cho phép lưu nhiều mẫu và cho chọn mẫu bằng 1 cái userform - hãy còn thô sơ.
- Cho phép chèn vào khi mở file khác (không cần copy vào file mẫu).
- Cho chọn cột cần cộng dồn (1,2,3 hoặc nhiều cột...)
- Có tính đến việc chèn vào sẽ làm thay đổi số trang in (tăng thêm so với không chèn các dòng tổgn cộng).
- ...
 

File đính kèm

  • EndPage_tigertiger.rar
    137.5 KB · Đọc: 589
Upvote 0
Cộng dồn số liệu trang trước chuyển sang trang sau

Các bạn pro ơi, giúp tớ với:
Tớ đang làm sổ sách kế toán thủ công trên exel, muốn cộng dồn số trang trước chuyển sang trang sau (sổ nhật ký chung) thì làm thế nào? ( các dòng trong sheet không đều nhau).
M
ình đọc bài thảo luận trên http://www.giaiphapexcel.com/forum/showthread.php?820-Tạo-dòng-Tổng-cộng-cuối-trang nhưng không hiểu lắm. Có ai có cách nào đơn giản, dễ hiểu, dễ làm bày cho mình với. Thanks các cao thủ
 
Upvote 0
Tôi chẳng biết bạn nói cụ thể bài nào hết, sao giúp bạn được? Bạn nên đưa lên file cụ thể của bạn, yêu cầu những gì, kết quả mong muốn đạt được v.v... thì như vậy mới dễ làm cho bạn chứ!

(xưng hô tớ với pro nghe sao sao đó)
 
Upvote 0
Cộng dồn số liệu

Ah, là do mình đặt câu hỏi với chủ đề này thì có 1 bạn bảo mình xem lại chủ đề này đã được thảo luận lâu rùi. Cái mình muốn nhờ là cách cộng dồn số liệu ở cuối dòng của trang trước chuyển sang đầu dòng của trang sau. Bạn có hiểu mình nói không nhỉ? Cảm ơn bạn đã quan tâm
Tôi chẳng biết bạn nói cụ thể bài nào hết, sao giúp bạn được? Bạn nên đưa lên file cụ thể của bạn, yêu cầu những gì, kết quả mong muốn đạt được v.v... thì như vậy mới dễ làm cho bạn chứ!
 
Upvote 0
Ah, là do mình đặt câu hỏi với chủ đề này thì có 1 bạn bảo mình xem lại chủ đề này đã được thảo luận lâu rùi. Cái mình muốn nhờ là cách cộng dồn số liệu ở cuối dòng của trang trước chuyển sang đầu dòng của trang sau. Bạn có hiểu mình nói không nhỉ? Cảm ơn bạn đã quan tâm


Giả sử ở Sheet1 ô B15 là ô trang cuối có số liệu đã cộng dồn của bạn, thì ở sheet2 với ô B1 là ô đem sang thì công thức chỉ là:

Ô B1 (của sheet2) =Sheet1!B15
 
Upvote 0
Web KT
Back
Top Bottom