Lưu fìle sang một Workbook mới

  • Thread starter Thread starter trungnt
  • Ngày gửi Ngày gửi
Liên hệ QC

trungnt

Thành viên hoạt động
Tham gia
2/2/07
Bài viết
135
Được thích
88
Hiện nay trong bảng tính của tôi có tạo 1 nút lệnh để lưu bảng tính hiện hành sang một workbook mới của file khác (file này sẽ được đặt tên và lưu theo người sử dụng). Trong nút lệnh này, tôi có viết 1 đoạn code làm 1 số việc như xóa 1 số dòng hoặc chỉnh độ rộng 1 số cột và căn chỉnh trang in cho bảng tính đã được dán qua workbook mới. Qua thử nghiệm chạy thử, tôi không hiểu vì sao khi thực hiện lệnh nó chỉ thực hiện trên bảng tính của file cũ (mà ở đây tôi chỉ muốn đoạn lệhh trên thực hiện trên bảng tính của file mới lưu chứ không phải trên bảng tính của file cũ trước đó ............nhưng làm hoài mà không được). Do trình độ còn ABC mong các anh chị trên diễn đàn chỉ giúp, tôi xin cám ơn nhiều nhiều.......... Đoạn code mà tôi đã viết cho nút lệnh trên như sau:

PHP:
Private Sub CmdSave_Click()
    Columns("A:K").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    
    Rows("5:5").RowHeight = 60
    Rows("8:9").RowHeight = 21
    Rows("31:31").Delete
    Rows("36:36").Delete
    Rows("46:46").Delete
    Rows("66:66").Delete
    Rows("93:93").Delete
    Columns("E:E").ColumnWidth = 6.44
    Columns("G:G").ColumnWidth = 7.78
    Columns("D:D").ColumnWidth = 7.11
    
    With ActiveSheet.PageSetup

        .LeftMargin = Application.InchesToPoints(0.866141732283465)
        .RightMargin = Application.InchesToPoints(0.15748031496063)
        .TopMargin = Application.InchesToPoints(0.47244094488189)
        .BottomMargin = Application.InchesToPoints(0.47244094488189)
        .HeaderMargin = Application.InchesToPoints(0.236220472440945)
        .FooterMargin = Application.InchesToPoints(0.236220472440945)
        .PrintQuality = 600
        .Orientation = xlPortrait
        .PaperSize = xlPaperA4
        .Zoom = 100

    End With
    Application.GetSaveAsFilename
    ActiveWorkbook.Save

End Sub
 
Chào bạn, mình thấy code của bạn chạy tốt mà vẫn lưu workbook mới đó thôi. Mình chỉ rút ngắn code của bạn chút thôi!
Bạn xem file nha!
Thân.
Mã:
Private Sub CmdSave()
Columns("A:K").Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
 
Rows("5:5").RowHeight = 60
Rows("8:9").RowHeight = 21
[COLOR=red]Range("31:31,36:36,46:46,66:66,93:93").Delete[/COLOR]
Columns("E:E").ColumnWidth = 6.44
Columns("G:G").ColumnWidth = 7.78
Columns("D:D").ColumnWidth = 7.11
 
With ActiveSheet.PageSetup
.LeftMargin = Application.InchesToPoints(0.866141732283465)
.RightMargin = Application.InchesToPoints(0.15748031496063)
.TopMargin = Application.InchesToPoints(0.47244094488189)
.BottomMargin = Application.InchesToPoints(0.47244094488189)
.HeaderMargin = Application.InchesToPoints(0.236220472440945)
.FooterMargin = Application.InchesToPoints(0.236220472440945)
.PrintQuality = 600
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.Zoom = 100
End With

Application.GetSaveAsFilename
ActiveWorkbook.Save
End Sub
 

File đính kèm

Upvote 0
Đúng là có lỗi xãy ra tại dòng ".PrintQuality = 600" nhưng do mình nghĩ rằng do máy mình không có máy in nên mới xãy ra, nếu bạn cũng vậy thì bỏ dòng này đi. Mình để vào vì nghĩ rằng máy bạn có máy in thôi!
 
Upvote 0
Đúng là có lỗi xãy ra tại dòng ".PrintQuality = 600" nhưng do mình nghĩ rằng do máy mình không có máy in nên mới xãy ra, nếu bạn cũng vậy thì bỏ dòng này đi. Mình để vào vì nghĩ rằng máy bạn có máy in thôi!

Máy mình vẫn có máy in. Nó vẫn in bình thường. Nhưng đoạn code này nó lại thông báo là không tìm thấy Sub CmdSave
 
Upvote 0
Vậy bạn gửi file lên thôi! Nhìn qua khe cửa thì thấy không rõ gì cả?
Thân.
 
Upvote 0
À, thì ra là do thằng Private tác quái đây!
Bạn xóa nó đi là chạy liền, mình copy code của bạn qua chạy tốt nhưng lúc viết Button thì không nghĩ rằng thằng Private lại cảng đường đến thế! Thông cảm nha!
Thân.
 
Upvote 0
À, thì ra là do thằng Private tác quái đây!
Bạn xóa nó đi là chạy liền, mình copy code của bạn qua chạy tốt nhưng lúc viết Button thì không nghĩ rằng thằng Private lại cảng đường đến thế! Thông cảm nha!
Thân.

À há, mình cũng quên mất cái chổ đó. Đúng là nó tác quái đến vậy
 
Upvote 0
Web KT

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

Back
Top Bottom