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

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi underware, 17 Tháng năm 2005.

20,814 lượt xem

  1. underware

    underware Thành viên thân thiết

    Bài viết:
    130
    Đã được thích:
    0
    Nơi ở:
    Hochiminh City
    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:
     
    #1
  2. Nguyen Tu Anh

    Nguyen Tu Anh Thành viên thân thiết

    Bài viết:
    5,609
    Đã được thích:
    21
    Nơi ở:
    Hà Nội - TP. HCM
    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.
     
    #2
  3. vongphuc

    vongphuc Excel Fans Club

    Bài viết:
    300
    Đã được thích:
    4
    Nơi ở:
    Ha Noi
    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)
     
    #3
  4. Nguyen Tu Anh

    Nguyen Tu Anh Thành viên thân thiết

    Bài viết:
    5,609
    Đã được thích:
    21
    Nơi ở:
    Hà Nội - TP. HCM
    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!
     
    #4
  5. Tuanktcdcn

    Tuanktcdcn Lão già ham vui

    Bài viết:
    548
    Đã được thích:
    50
    Nơi ở:
    Hà 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!
     
    #5
  6. Nguyen Tu Anh

    Nguyen Tu Anh Thành viên thân thiết

    Bài viết:
    5,609
    Đã được thích:
    21
    Nơi ở:
    Hà Nội - TP. HCM
    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 ạ.
     
    #6
  7. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    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.
     
    Last edited: 18 Tháng năm 2005
    #7
  8. nguyenduc

    nguyenduc Thành viên hoạt động

    Bài viết:
    13
    Đã được thích:
    1
    Nơi ở:
    thaibinh
    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!
     
    #8
  9. vongphuc

    vongphuc Excel Fans Club

    Bài viết:
    300
    Đã được thích:
    4
    Nơi ở:
    Ha Noi
    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
     
    #9
  10. KKBS

    KKBS Thành viên sơ cấp

    Bài viết:
    53
    Đã được thích:
    0
    Nơi ở:
    HCM
    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.
     
    #10
  11. vongphuc

    vongphuc Excel Fans Club

    Bài viết:
    300
    Đã được thích:
    4
    Nơi ở:
    Ha Noi
    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é!
     
    #11
  12. Bình_OverAC

    Bình_OverAC Over Abnormal / Crazy

    Bài viết:
    845
    Đã được thích:
    7
    Nơi ở:
    Nha Trang
    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
     
    #12
  13. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    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
     
    #13
  14. NgânGiang

    NgânGiang Cố lên! Cố lên...

    Bài viết:
    202
    Đã được thích:
    0
    Nơi ở:
    Trong Mây mù
    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:
    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é.
     
    #14
  15. WhoamI

    WhoamI Thành viên thân thiết

    Bài viết:
    534
    Đã được thích:
    0
    Nơi ở:
    Cố lên, cứ đi rồi sẽ tới!
    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!
     
    #15
  16. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    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ử!
     
    #16
  17. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    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.
     
    Last edited: 20 Tháng tư 2006
    #17
  18. tuvanvt

    tuvanvt Thành viên sơ cấp

    Bài viết:
    1
    Đã được thích:
    0
    Nơi ở:
    viet tri
    Đá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:
     
    #18
  19. adam_tran

    adam_tran Steel Partner

    Bài viết:
    1,373
    Đã được thích:
    32
    Nơi ở:
    Goooogle
    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
     
    #19
  20. Đào Việt Cường

    Đào Việt Cường Moderator

    Bài viết:
    400
    Đã được thích:
    2
    Giới tính:
    Nam
    Nơi ở:
    Khánh Hòa
    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!
     
    #20

Chia sẻ trang này