Đăng ký học Excel và VBA cùng GPE tháng 11 - TPHCM

Đăng ký học Excel và phân tích số liệu cùng GPE tháng 12 - TPHCM

Mua sách "VBA trong Excel - Cải thiện và tăng tốc" tái bản

Cách căn nhanh trang in Excel luôn vừa khít trang giấy.

Thảo luận trong 'Định dạng, trình bày, in ấn bảng tính' bắt đầu bởi TrungChinhs, 2 Tháng mười một 2010.

  1. TrungChinhs

    TrungChinhs Thành viên tích cực

    Tỷ lệ trang in trong Excel mặc định là 100%, nhiều khi gặp bảng tính có kích thước chiều ngang lớn mà muốn trang in luôn vừa khít trang giấy thông thường ta phải vào Page stup để chọn tỷ lệ trang in trong Adjust to, làm theo cách này mất khá nhiều thời gian vì phải điều chỉnh tỷ lệ nhiều lần thì trang in mới vừa khít trang giấy.

    Muốn căn một lần được luôn các bạn làm theo cách sau: chọn Menu View -> Page Breack Preview theo chiều đứng bạn sẽ thấy có 2 đường kẻ đậm màu xanh, bạn đưa con trỏ vào đường kẻ đứt, khi mũi tên có 2 đầu thì bạn nhấn giữ chuột kéo sang bên phải để đường kẻ đứt trùng với đường kẻ liền vậy là xong. Trở lại Menu View chọn Normal để trở lại chế độ hiển thị bình thường.

    Tương tự cách làm trên nếu dùng VBA ta có code sau:

    Mã:
    Sub Macro1()
        Application.ScreenUpdating = False
        On Error Resume Next
        
        With ActiveSheet
            .PageSetup.Zoom = 100
            ActiveWindow.View = 2
            .VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
            ActiveWindow.View = 1
        End With
    End Sub
    Trong file đính kèm các bạn có thể Test bằng cách thêm, bớt cột hoặc điều chỉnh độ rộng cột rồi nhấn nút màu xanh để chạy code
     

    Các file đính kèm:

    Chỉnh sửa lần cuối bởi điều hành viên: 25 Tháng tư 2017
  2. voquynhnga

    voquynhnga Thành viên mới

    Mình cũng bị chê là chưa hiểu nhiều về excel. Cảm ơn diễn đàn và các bạn đã chia sẻ thông tin cho mình
     
  3. haonlh

    haonlh Thành viên tích cực

    Làm theo cách của anh là nhanh.
    Nhưng với 2007, tôi thử không được. Quên, chưa chạy thử Macro.
    Nhưng nếu có thao tác trên E2007 thì giới thiệu.
     
  4. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Trong excel tất cả các phiên bản, muốn định dạng trang in vừa với khổ A4 thì vào Page setup, nhưng không chọn và gõ mò Adjust to .... %.

    Hãy chọn fit to 1 page(s) wide và để trống ô by ... tall
     
  5. longlt08

    longlt08 Thành viên thường trực

    Tôi đã thử ở excel 2010, code của TrungChinh chạy tốt mà. Bạn có file mẫu 2003 thì mở excel 2007 rồi save as sang 2007 thì biết ngay, cần gì phải giới thiệu thao tác trên E2007 nữa.
     
  6. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Không phải lúc nào dùng VBA cũng có lợi đâu anh Long ạ. Chả lẽ mỗi file excel lại chép vào đoạn code trên?
    Trừ khi anh dùng thường xuyên, thì lưu code dưới dạng xla và dùng.
     
  7. mo coi

    mo coi Thành viên mới

    cung chinh rui ma sao k duoc?huhu
     
  8. lee chung

    lee chung Thành viên chính thức

    Các bạn cho mình hỏi trong word 2007 có cách nào gom trang in bị thừa một hai hàng thành đúng một trang không ? Ví dụ trang văn bản giấy A4 tôi in ra ở trang 1 bị thiếu hai hàng cuối do bị thừa trang, in qua trang thứ 2.Nếu canh lề lại hoặc sửa cở chử thì rờm rà và mất thời giang,vậy có cách nào làm giống bên excel : chọn Menu View -> Page Breack Preview theo chiều đứng bạn sẽ thấy có 2 đường kẻ đậm màu xanh, bạn đưa con trỏ vào đường kẻ đứt, khi mũi tên có 2 đầu thì bạn nhấn giữ chuột kéo sang bên phải để đường kẻ đứt trùng với đường kẻ liền vậy là xong không các bạn giúp mình nhé.
     
  9. thaotomato

    thaotomato Thành viên mới

    mình vào xem print preveiw lại trắng k có nội dung là sao?hay chỉ cần làm theo hướng dẫn r in ra là dc ạ moi ng chi giup vs
     
  10. letinnghia

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

    Bạn ptm0412 cho mình hỏi cách lưu code dưới dạng xla là thế nào?
    Hiện tôi dang làm thế này nhưng kết quả không được
    1. Save as file excel có chứa code sang dạng đuôi .xlam
    2. Mở file excel mới lên vào add in chọn file vừa mới tạo ở bước 1
    3. kết quả là không thấy phần add in nổi trên thanh Ribbon của file excel.
    Phiên bản execl tôi dang dùng là 2007 và 2010
    À, trước khia tôi dùng excel 2003 thì làm được.
    Bạn có cách nào chỉ tôi với.
    Cảm ơn bạn
     
  11. vanle33

    vanle33 GPE-Ngôi nhà thứ 2

    1) Tôi thấy file add in có đuôi là .xla chứ đâu phải .xlam???
    3) Làm sao add in có thể hiện lên thanh Ribbon (trừ 1 số add in...) Tôi đang dùng nhiều add in trên excel 2010 đâu có hiện lên thanh Ribbon, ví dụ như add in =VND()
    Bạn đã add in vào excel theo đường dẫn C:\Users\Administrator\AppData\Roaming\Microsoft\AddIns (với Win 7) chưa?
     
  12. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    xla hay xlam đều là add-in, nhưng xlam chỉ dùng cho 2007 trở về sau.
    Tuy vậy, cả 2 loại nếu không có code tạo menu sẽ không có menu (2007 trở lên là ribbon). Các đoạn thủ tục thường dùng thì nên tạo phím tắt cho nó, sau đó sử dụng phím tắt kiu code chạy.
     
  13. letinnghia

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

    Cảm ơn bạn.
    Tôi có đoạn code thế này:
    Sub TongHop()
    Dim Tmp, Arr(), i As Long, k As Long
    ReDim Arr(1 To 30000, 1 To 9)
    Tmp = Sheets("A").[C5:I10000]
    For i = 1 To UBound(Tmp)
    If IsEmpty(Tmp(i, 1)) Then Exit For
    k = k + 1
    Arr(k, 1) = k: Arr(k, 4) = Tmp(i, 1): Arr(k, 5) = Tmp(i, 3): Arr(k, 6) = Tmp(i, 5): Arr(k, 7) = Tmp(i, 7)
    Next
    Tmp = Sheets("B").[E5:M10000]
    For i = 1 To UBound(Tmp)
    If IsEmpty(Tmp(i, 1)) Then Exit For
    k = k + 1
    Arr(k, 1) = k: Arr(k, 4) = Tmp(i, 1): Arr(k, 5) = Tmp(i, 3): Arr(k, 6) = Tmp(i, 5): Arr(k, 7) = Tmp(i, 9)
    Next
    Tmp = Sheets("C").[C5:K10000]
    For i = 1 To UBound(Tmp)
    If IsEmpty(Tmp(i, 1)) Then Exit For
    k = k + 1
    Arr(k, 1) = k: Arr(k, 4) = Tmp(i, 1): Arr(k, 5) = Tmp(i, 5): Arr(k, 6) = Tmp(i, 7): Arr(k, 7) = Tmp(i, 9)
    Next
    With Sheets("Tong Hop")
    .[A5:I30000].Clear
    With .[A5].Resize(k, 9)
    .Value = Arr
    .Borders.LineStyle = 1
    .Font.Name = "Courier New"
    .Font.Size = 10
    End With
    With .[G5].Resize(k)
    .Font.Size = 14
    .Font.Bold = True
    .Font.ColorIndex = 3
    End With
    End With
    End Sub

    1. Phải thêm code vào như thế nảo để để khi chuyển sang add in(xlam) thì có menu Ribbon.
    Code này mình dùng để chạy cho gần 50 file excel mỗi tháng.
    2. Bạn hướng dẫn cách tạo phím tắt và sau đó kiu code chạy.
    Cảm ơn bạn
     
  14. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Code để có nút lệnh trên ribbon là hẳn 1 chuyên đề riêng, bạn tìm kiếm đi.
    Còn phím tắt là vầy:
    Trước khi save as xlam, bạn nhấn Ctrl F8, chọn đoạn thủ tục trên, nhấn nút Option, và gán phím tắt vào 1 ô nhỏ nhỏ trên đó. Bạn có thể ghi chú vào code hoặc vào description để ghi nhớ phím tắt này.
    Sau đó hãy save as xlam.
    Lý do là khi đã là xlam rồi và add vào, code có thể chạy, có thể tìm để xem, để sửa, ... nhưng không liệt kê trong Ctrl F8 để chỉnh sửa option.

    Đó là nói chung. Còn đoạn code của bạn thì tôi không biết có chạy đúng ý bạn chưa, nhưng nó đang trỏ tới những sheet có tên cụ thể, những vùng dữ liệu cụ thể và những ô cụ thể. Nên nếu file nào đó không có sheet tên đó, sẽ không chạy. File nào dữ liệu nằm khác chỗ, nó sẽ chạy bậy.

    Vậy thì nếu bạn chắc chắn rằng mỗi tháng 50 file có cùng cấu trúc sheet, range, cell, ... Một năm 600 file cùng cấu trúc sheet, range, cell, ... thì cứ thử lưu thành add-in và dùng.
     
    Lần chỉnh sửa cuối: 9 Tháng chín 2014
  15. letinnghia

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

    Cảm ơn bạn!
    tôi đã làm theo tất cả những gì bạn mô tả nhưng không có kế quả, tôi có gửi file lên nhờ bạn kiểm tra giùm tôi với.
    Cảm ơn
     

    Các file đính kèm:

  16. ptm0412

    ptm0412 Excel Ordinary Member Staff Member Super Moderator

    Bạn copy code vào 1 module trên 1 file mới trắng tinh, xoá hết sheet chỉ chừa lạ 1 sheet cho nhẹ.
    Sau đó nhấn Alt F8, chọn thủ tục, nhấn nút option, gắn shortcut key, ok (Bài trên tôi gõ nhầm thành Ctrl F8, xin lỗi bạn)
    Sau đó save as xlam
    Sau đó đóng file
    Sau đó cài add-in cho excel
    Sau đó nhấn thank bài này
     
    Lần chỉnh sửa cuối: 17 Tháng chín 2014
  17. hosibien

    hosibien Thành viên chính thức

    Có cách nào Setup trang in bang tính Excel 2003 để in hết cở ra sát biên 2 bên không? Đối với Excel 2007 thì có nhưng sao Excel 2003 lại không in hết được sát biên 2 bên, mặc dù đã chỉnh 2 biên(left =0 và Right =0) nhưng xem trang in và in còn 2 bên từ 1,5 - 2cm
     
  18. vanle33

    vanle33 GPE-Ngôi nhà thứ 2

    1) "có cách nào" nhưng không có chủ ngữ là ai?
    2) Bạn hãy kéo độ rộng cột ra hết cỡ, scale là 100%, lề trái = phải = 0. Rồi View in thử xem.
     
  19. hosibien

    hosibien Thành viên chính thức

    Cảm ơn bạn giúp, nhưng mình đã nhầm khi không đưa file cụ thể. Ý mình là muốn in hết trang in, kèm theo đó là hình nền chìm có khung viên kèm theo file dưới đây. Khi mở trên máy, với Office 2007 thì xem và in được cả trang in có hình nền, Còn mở và in trên máy, với Office 2003 thì khi xem trang in (Print preview) mất khung viền hình nền 2 bên và in cũng không có khung viền hình nền 2 bên.
    Có cách nào không? Nhờ mọi người giúp đỡ, xin cám ơn nhiều.
     

    Các file đính kèm:

  20. Mutants Men

    Mutants Men Thành viên thường trực

    upload_2017-7-3_14-10-49.png
    Chào mọi người!
    ví dụ em có 1 bảng tính gồm có 10 cột từ A đến J, mỗi cột có ColumnWidth = 6.78
    bây giờ em muốn viết code để chỉnh ColumnWidth cột J rộng thêm 1 chút để cho vừa luôn với việc canh lề thì em phải viết code như thế nào?
    nếu em kéo thủ công cột J thành 7.33 thì sẽ vừa với trang giấy 6.78+0.55 = 7.33
    vậy làm sao để có thể viết code tính được con số còn lại là 0.55 để cộng thêm đó
     

Chia sẻ trang này