Tạo ra dòng 'tổng đến hết trang' và 'số mang sang' cho bảng tính nhiều trang

  • Thread starter underware
  • Ngày gửi
U

underware

Thành viên thân thiết
13/5/05
130
0
16
Hochiminh City
#1
Kính gửi các bác!
Cho em hỏi: 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 tiêu đề của đầu sheet đó ( tiêu đề này do mình tạo ra không phải header)arial :wall:
 
Nguyen Tu Anh

Nguyen Tu Anh

Thành viên thân thiết
23/2/05
5,609
21
38
Hà Nội - TP. HCM
#2
Bạn làm từng bước như sau nhé!
Vào File - Page Setup - Sheet - Rows to reapeat at top. Trong ô này thì bạn di chuột đến những dòng cần in. Khi in thì các trang đều có dòng mà bạn mặc định.
underware nói:
Kính gửi các bác!
Cho em hỏi: 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 tiêu đề của đầu sheet đó ( tiêu đề này do mình tạo ra không phải header)arial :wall:
 
V

vongphuc

Excel Fans Club
11/8/04
300
4
0
Ha Noi
#3
Kính gửi các bác!
Cho em hỏi: 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)
 
Nguyen Tu Anh

Nguyen Tu Anh

Thành viên thân thiết
23/2/05
5,609
21
38
Hà Nội - TP. HCM
#4
Thôi bác ơi, mọi người đều biết bác là chuyên gi về Excel rồi. Bác lại hỏi khó bọn em thế? Thỉnh thoảng em mới dám vào CLB Excel chơi tí tẹo rồi ra ngay thôi. Bác đưa đáp án ra đi!
vongphuc nói:
Kính gửi các bác!
Cho em hỏi: 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)
 
T

Tuanktcdcn

Lão già ham vui
18/6/04
548
51
28
41
Hà Nội
www.bluesofts.net
#5
Bạn vào Menu File\Page Setup trong cửa sổ này bạn chọn tab Sheet, ở mục "Print Titles" trong hộp text "Rows to repeat at top" bạn chỉ ra dòng mà bạn muốn in lại sau mỗi trang, nó thường là dòng tiêu đề của bảng.
Chúc bạn thành công!
 
Nguyen Tu Anh

Nguyen Tu Anh

Thành viên thân thiết
23/2/05
5,609
21
38
Hà Nội - TP. HCM
#6
Bác ơi, cách này không được rồi! Nó chính là cách em chỉ ở bên dưới đó nhưng mà chỉ hiện ở đầu mỗi trang thôi, cuối mỗi trang không áp dụng được đâu bác ạ.
Tuanktcdcn nói:
Bạn vào Menu File\Page Setup trong cửa sổ này bạn chọn tab Sheet, ở mục "Print Titles" trong hộp text "Rows to repeat at top" bạn chỉ ra dòng mà bạn muốn in lại sau mỗi trang, nó thường là dòng tiêu đề của bảng.
Chúc bạn thành công!
 
K

KKBS

Thành viên sơ cấp
23/2/05
53
0
0
46
HCM
#7
vongphuc nói:
Kính gửi các bác!
Cho em hỏi: 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)
Tạm thời tôi chưa chứng minh được yêu cầu này không thể làm được bằng Excel thuần túy. Tuy nhiên, tôi cũng có một câu hỏi rằng tại sao ta phải để tổng cộng ở cuối mỗi trang. Nếu thực sự có nhu cầu này trong thực tế, tôi sẽ email cho Bill Gates đề nghị ông này cho thiết kế thêm "Row to repeat at bottom".

Trong các chương trình chuyên làm báo cáo (như Crystal Report chẳng hạn), tôi cũng không thấy có cách để in "Grand Total" ở cuối của mỗi trang.

Nếu bạn thực tình cần xem tổng cộng trên mỗi trang, tôi nghĩ bạn nên "work around" bằng cách đặt tổng này ở trên cùng và sử dụng "Row to repeat at top" mà Excel đã thiết kế sẵn.

Thân,
KKBS.
 
Sửa lần cuối:
N

nguyenduc

Thành viên sơ cấp
19/5/05
13
1
3
thaibinh
#8
Dong Tong cong o cuoi trang chi la VD thoi phai ko? Bạn co the vào Menu File\Page Setup trong cửa sổ này bạn chọn tab Sheet, ở mục "Print Titles" trong hộp text "Rows to repeat ...." và "colums to repeat... " bạn chỉ ra những dòng,cột mà bạn muốn in lại sau mỗi trang, nó thường là dòng tiêu đề của bảng. VD ở trong "colums to repeat... " bạn có thể dung mouse đánh dấu những dòng cần in lai.
Chúc bạn thành công!
 
V

vongphuc

Excel Fans Club
11/8/04
300
4
0
Ha Noi
#9
Uh đúng rồi đó KKBS ơi, tớ cũng không thấy ai cần có một dòng với dữ liệu cố định giống như dòng tiêu đề mà lại lặp đi lặp lại ở cuối trang cả. Tuy nhiên nếu dữ liệu trên dòng đó thay đổi được thì lại khác. Tớ lấy 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
 
K

KKBS

Thành viên sơ cấp
23/2/05
53
0
0
46
HCM
#10
To: vongphuc

Trong trường hợp cần kiểm tra từng bút toán như vậy, tôi nghĩ là ta có thể tạo một cột phụ thay cho macro bằng cách sau (không biết có đúng với yêu cầu của bạn không) :

Giả sử cột A là cột chứa các số tiền trong các bút toán, cột B là cột phụ dùng để kiểm tra, ta tạo công thức cho cột B để cộng dồn như sau :

B1 = A1
B2 = A2 + B1
copy công thức ô B2 cho B3, B4....
Như vậy ở cuối mỗi trang ta có số luỹ kế đến cuối trang đó. Dùng kỹ thuật này lần nữa nếu bạn muốn số luỹ kế trang trước được in ở trang sau.

Thân,
KKBS.
 
V

vongphuc

Excel Fans Club
11/8/04
300
4
0
Ha Noi
#11
Hề hề,

Cách này hay lắm. Thế mà tớ không nghĩ ra :wall:

Tks bạn thân mến nhé!
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
845
7
18
36
Nha Trang
#12
Có một ý tưởng cho việc viết VBA cho chuyên này:
1. Dùng worksheet_BeforePrint để chèn thêm các dòng cộng mang sang trang sau và trang trước mang sang.
2. Vấn đề là đếm số dòng mang trước khi in được ra giấy.

Em sẽ cố gắng thực thi ý tưởng này nhưng không có được không. Có lẻ cần anh KKBS và mọi hổ trợ em nhé. Cám ơn trước.

OverAC
 
L

levanduyet

Welcome
16/10/04
535
11
18
HCM
my.opera.com
#13
OverAC nói:
Em sẽ cố gắng thực thi ý tưởng này nhưng không có được không.
OverAC
Anh không hiểu ý của em.
To: OverAC,
Ý tưởng hôm trước anh em mình đã thống nhất khi nào mới tiến hành đây? Khi nào em rảnh?
Thân,
Lê Văn Duyệt
 
N

NgânGiang

Cố lên! Cố lên...
10/5/05
202
0
0
16
Trong Mây mù
www.baominh.com.vn
#14
OverAC nói:
Có một ý tưởng cho việc viết VBA cho chuyên này:
1. Dùng worksheet_BeforePrint để chèn thêm các dòng cộng mang sang trang sau và trang trước mang sang.
2. Vấn đề là đếm số dòng mang trước khi in được ra giấy.
OverAC
Giống như ý tưởng của OverAC, chương trình chỗ mình họ (đội thiết kế BC) cũng cộng cuối mỗi trang in, rồi in số mang sang ở đầu trang sau. Giải pháp này khó đấy nhé. Mình đã phải test nhiều lần, thế mà khi người dùng thay đổi thông số in lại bị lỗi (Cộng dồn chẳng giống ai)
Thế thì trong Excel dùng giải pháp:
KKBS nói:
Giả sử cột A là cột chứa các số tiền trong các bút toán, cột B là cột phụ dùng để kiểm tra, ta tạo công thức cho cột B để cộng dồn như sau :

B1 = A1
B2 = A2 + B1
copy công thức ô B2 cho B3, B4....
Như vậy ở cuối mỗi trang ta có số luỹ kế đến cuối trang đó. Dùng kỹ thuật này lần nữa nếu bạn muốn số luỹ kế trang trước được in ở trang sau.

Thân,
KKBS.
Theo mình nhìn bản in như thế không được đẹp nhưng chính xác.
Làm sao để che không in tất cả các số liệu của cột B nhỉ (Chỉ in những ô xuất hiện ở đầu trang với cuối trang ấy mà)
Ai tìm ra giải pháp hay cho mình học với nhé.
 
W

WhoamI

Thành viên thân thiết
#15
Hic, thế ý tưởng của Các bác đã hoàn thành và đón gói chưa ah?,
Em phải thường xuyên vào đây kéo cái tóp này nên cao mới được.
Hìhì, Em đang in sổ Nhật ký chung cần cái này vô cùng!
 
adam_tran

adam_tran

Steel Partner
17/5/05
1,373
32
48
41
Goooogle
#16
Theo tớ đã dùng kế toán máy thì cần gì phải in dòng cộng cuối trang chi cho mệt. Nhưng tớ cũng có ý tưởng như thế này:

- Tính toán xem 1 trang chừng bao nhiêu dòng.
- Đầu sheet để 1 dòng số mang sang. Cuối sheet để 2 dòng: Subtotal chứa số cuối trang và grandtotal chứa số mang sang cộng số đầu trang. Trên 2 dòng này, cột STT đặt 2 công thức tính Subtotal Max và Min của STT.
- Tạo 1 macro căn cứ vào tổng số dòng để tính số trang. Mỗi trang chỉ cho in tối đa bấy nhiêu dòng, trừ trang đầu. In từng trang 1 bằng lệnh Advanced Filter. Tính số đầu trang, cuối trang dựa vào giá trị Min (dòng đầu của trang) và Max (dòng cuối của trang). Trang cuối cho in các thứ linh tinh chữ ký...
Diễn giải khó, để mai có thời gian làm thử!
 
adam_tran

adam_tran

Steel Partner
17/5/05
1,373
32
48
41
Goooogle
#17
File đơn giản in dòng cuối trang

Tớ có rồi đây, tớ nghỉ có thể dùng cách này in được cho sổ cái với nhiều tài khoản và nhiều tháng. Chú ý mấy cái Name... vì tớ không rành VBA, chỉ biết chút ít, chủ yếu là vận dụng Excel thông thường.
 
Sửa lần cuối:
T

tuvanvt

Thành viên sơ cấp
2/12/05
1
0
0
46
viet tri
#18
Đánh số trang trong Excel

Xin chào các anh! mình đang tập tành VBA, có một đoạn code sau nhờ các anh em chỉ dẫn thêm :
Sub danhsotrang()
Dim tranghh
Do
Application.SendKeys ("s"), True 'Dong PrintPreview lai
Application.SendKeys ("%r"), Wait = 100
Selection.PrintPreview 'PrintPreview
k = k + 1
ActiveSheet.Next.Select
Loop Until ActiveSheet.Name = "HET"
End Sub
Mục đích : Do mình có nhiều trang Excel cần in ấn và đánh số trang, do vậy mình cho printpreview từng sheet một, sau đó đánh số trang, rồi nhấn "Esc" để thoát và lại tiếp tục đánh số trang cho sheet kết tiếp.
Mình muốn đưa thủ tục "nhấn Esc" tự động vào nhưng không được! các anh em có chiêu nào giải quyết được không, xin chỉ dùm!:error:
 
adam_tran

adam_tran

Steel Partner
17/5/05
1,373
32
48
41
Goooogle
#19
tuvanvt nói:
Sub danhsotrang()
Dim tranghh
Do
Application.SendKeys ("s"), True 'Dong PrintPreview lai
Application.SendKeys ("%r"), Wait = 100
Selection.PrintPreview 'PrintPreview
k = k + 1
ActiveSheet.Next.Select
Loop Until ActiveSheet.Name = "HET"
End Sub
Không hiểu ý của bạn lắm, bạn khai báo biến tranghh làm gì, biến k = k+1 làm gì....
Nếu chỉ đánh số trang thôi thì chạy 1 vòng lặp là xong.
Sub DanhsoTrang()
Dim Sh As Worksheet
For Each Sh In ActiveWorkbook.Sheets
Sh.PageSetup.RightFooter = "Trang &P"
Next Sh
End Sub
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
3
18
Khánh Hòa
#20
Dear Adam_Tran,
----------------
Bác cho em hỏi, trong VBA làm thế nào để biết được dấu ngắt trang của excel nhỉ? Nếu có dấu hiệu này thì ta có thể điều khiển được điểm cuối cùng một trang đấy bác nhỉ, chẳng hạn như là tính tổng cuối trang chẳng hạn!
 

Thành viên trực tuyến

  • daongocnam0603

Xem nhiều