Copy Vùng chọn sang workbook mới (1 người xem)

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

Người dùng đang xem chủ đề này

lhthai

Thành viên thường trực
Tham gia
1/9/07
Bài viết
309
Được thích
27
Mình muốn copy giữ liệu từ vùng A1:A10 sang workbook mới với tên file tại B1 và lưu file vào đường dẫn nằm ổ D:\Data\
Mã:
Private Sub CommandButton1_Click()
  ThisWorkbook.Sheets("Sheet1").Range("A1:A10").Copy
  Workbooks.Add.Sheets("Sheet1").Range("A1").PasteSpecial xlPasteAll
  Application.CutCopyMode = 0
End Sub
 

File đính kèm

Mình muốn copy giữ liệu từ vùng A1:A10 sang workbook mới với tên file tại B1 và lưu file vào đường dẫn nằm ổ D:\Data\
Mã:
Private Sub CommandButton1_Click()
  ThisWorkbook.Sheets("Sheet1").Range("A1:A10").Copy
  Workbooks.Add.Sheets("Sheet1").Range("A1").PasteSpecial xlPasteAll
  Application.CutCopyMode = 0
End Sub
Thử với đoạn này xem sao:
Mã:
Private Sub CommandButton1_Click()
Dim Wk, Str
Application.ScreenUpdating = False
Application.DisplayAlerts = False
  Set Wk = Workbooks.Add
  Str = Sheet1.[B1].Value
     ThisWorkbook.Sheets("Sheet1").[A1:A10].Copy
     Wk.Sheets("Sheet1").[A1].PasteSpecial xlPasteAll
     ActiveWorkbook.SaveAs "D:\Data\" & Str & ".xlsx", 56
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 
Upvote 0
Code trên không có đúng hoàn toàn đâu nhé. Bạn tự kiểm tra và phản hồi lại.
 
Upvote 0
Mình muốn copy giữ liệu từ vùng A1:A10 sang workbook mới với tên file tại B1 và lưu file vào đường dẫn nằm ổ D:\Data\
Mã:
Private Sub CommandButton1_Click()
  ThisWorkbook.Sheets("Sheet1").Range("A1:A10").Copy
  Workbooks.Add.Sheets("Sheet1").Range("A1").PasteSpecial xlPasteAll
  Application.CutCopyMode = 0
End Sub

Nhìn thì thấy dễ, tuy nhiên bạn phải mất rất nhiều công đoạn để lường trước những khả năng có thể xảy ra lỗi như sau:
- Đường dẫn "D:\Data" có tồn tại hay không? Và giả sử rằng đường dẫn này có tồn tại, vậy trong trường hợp bạn bấm CommandButton từ lần thứ 2 trở đi sẽ xuất hiện tình trạng trùng file và Excel sẽ hỏi bạn có muốn lưu đè hay không? Quyết định thế nào cho tình huống này, bạn cũng phải ghi rõ trong code
- Đối tượng "Sheet1" có tồn tại trong Thisworkbook hay không?
- Cho rằng mọi thứ diễn ra thuận lợi thì ngay cái chuyện PasteSpecial xlPasteAll cũng là cái ta phải cân nhắc. Bởi PasteAll có nghĩa là mọi công thức, liên kết sẽ tồn tại trong Workbook mới, rất khó xử lý. Tôi đề nghĩ PasteValues sẽ tốt hơn
- Lưu thành đuôi file gì cũng phải ghi rõ
- Lưu xong có cần đóng file lại không?
- Có cần phải xuất những thông báo cho người dùng biết được diễn tiến của quá trình không?

vân vân... và... vân vân...
Nếu tôi viết code này, chắc phải từ 30 dòng code trở lên mới mô tả được tất cả các tình huống có thể xảy ra
 
Upvote 0
Web KT

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

Back
Top Bottom