Code SaveCopyAs (1 người xem)

Liên hệ QC

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

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
965
Được thích
175
Giới tính
Nữ
Chào các anh chị, em có code SaveCopyAs để lưu file vào thư mục "Dulieuchiase" và gán phím tắt là "Ctrl+W" mà khi nhân "Ctrl+W" thấy không có lưu qua thư mục "Dulieuchiase", mong các anh chị giúp đỡ.
Mã:
Sub SaveToLocations()



ActiveWorkbook.SaveCopyAs "D:\DU LIEU CHIA SE\" + ActiveWorkbook.Name



ActiveWorkbook.Save

End Sub
 
ActiveWorkbook.SaveAs "D:\DU LIEU CHIA SE\" & ActiveWorkbook.Name
 
Upvote 0
Chào các anh chị, em có code SaveCopyAs để lưu file vào thư mục "Dulieuchiase" và gán phím tắt là "Ctrl+W" mà khi nhân "Ctrl+W" thấy không có lưu qua thư mục "Dulieuchiase", mong các anh chị giúp đỡ.
Mã:
Sub SaveToLocations()



ActiveWorkbook.SaveCopyAs "D:\DU LIEU CHIA SE\" + ActiveWorkbook.Name



ActiveWorkbook.Save

End Sub
Bạn thử sửa thành
ActiveWorkbook.Copy
ActiveWorkbook.SaveCopyAs Filename:="D:\DU LIEU CHIA SE\" & ActiveWorkbook.Name & ".xlsx"
 
Upvote 0
Vẫn không được bạn ơi, à mà mình nói để các anh chị biết là mình muốn save file từ thư mục "Tailieu" qua thư mục "Dulieuchiase" (Khác thư mục)
 
Upvote 0
Vẫn không được bạn ơi, à mà mình nói để các anh chị biết là mình muốn save file từ thư mục "Tailieu" qua thư mục "Dulieuchiase" (Khác thư mục)
File này đang ở thư mục 'tailieu" và code sẽ được paste ở file trong thư mục này hay là bạn muốn chuyển nhiều File từ thư mục "tailieu" qua thư mục "Dulieuchiase"
 
Upvote 0
File gốc ở thư mục "TaiLieu", mình muốn copy qua thư mục "Dulieuchiase", chỉ một file thôi. À copy file mình là "xlsb" nhe bạn. (có Macro)
Bạn giúp mình nhe.
 
Upvote 0
File gốc ở thư mục "TaiLieu", mình muốn copy qua thư mục "Dulieuchiase", chỉ một file thôi. À copy file mình là "xlsb" nhe bạn. (có Macro)
Bạn giúp mình nhe.
Vậy xem thử bài viết này
 
Upvote 0
Ý mình là muốn làm việc trên file ở thư mục "TaiLieu" xong nhấn nhấn "Ctrl+W" thì tự copy file qua thư mục "Dulieuchiase" với cùng tên file, cùng cấu trúc và có Macro.
Mong các bạn giúp mình với.
 
Upvote 0
Thư mục là "DULIEUCHIASE" và "DU LIEU CHIA SE" khác nhau
Nếu thư mục đó không có thì nó cũng save không được

Nếu Book chưa save vào thư mục hoặc được mở ở chế độ ReadOnly hoặc Safe Mode hoặc book đã tồn tại ở thư mục đó thì không save copy được.
------------

Copy vào module
JavaScript:
Public Const ShortKeySaveBook = "^w"
Private Const DirectoriesSaveBook = "D:\DULIEUCHIASE\"
'Cách 1:'
Sub SaveToLocations()
    On error resume next
    ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
End Sub
'Cách 2:'
'Sub SaveToLocations()
'    On error resume next
'    If Not ActiveWorkbook.Saved Then  ActiveWorkbook.Save
'    VBA.CreateObject("Scripting.FileSystemObject").CopyFile ActiveWorkbook.FullName, DirectoriesSaveBook & ActiveWorkbook.Name , True
'End Sub'

'Đặt con trỏ chuột vào dòng code bên dưới và nhấn F5 hoặc gọi SaveToLocationsKey từ danh sách Macro'
Sub SaveToLocationsKey()
    On error resume next
    Application.OnKey ShortKeySaveBook
    Application.OnKey ShortKeySaveBook , "'" & ThisWorkbook.Name & "'!SaveToLocations"
End Sub


------------

Copy vào code của ThisWorkbook và Save Workbook để thực hiện
PHP:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
    Call SaveToLocationsKey
End Sub

Private Sub Workbook_Open()
    Call SaveToLocationsKey
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On error resume next
    Application.OnKey ShortKeySaveBook
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Sao em chép code vào nó báo lỗi hai dòng này anh ơi:
Mã:
Public ShortKeySaveBook = "^w"
Public DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"
 
Upvote 0
Sao không thấy copy anh ơi
Bài đã được tự động gộp:

Em nhấn Ctrl+W thì hiện ra bảng này:
Hinh1.png
 
Lần chỉnh sửa cuối:
Upvote 0
Upvote 0
Cám ơn anh @HeSanbi nhiều. Đã được rồi.
Em quên xóa code Savetolocation cũ.
 
Upvote 0
Anh @HeSanbi ơi, nếu em đổi phím tắt Ctrl+W sang phím F1 thì chỉnh code sao anh?
 
Upvote 0
Em sửa thành:
Public Const ShortKeySaveBook = "(F1)"
nhưng khi bấm F1 nó ra Help của Excel.
 
Upvote 0
Upvote 0
À là dấu móc ngoặc, mà cũng phải bấm Ctrl+F1, chứ không bấm F1 không.
 
Upvote 0
Chào các Anh Chị!
Có thể khi nhấn code để lưu qua folder DULIEUCHIASE thì ẩn các sheet đi chỉ chừa lại sheet!BaoCao được không ạ.
Ví dụ file em gồm 4 sheet: TonDau, Nhap, Xuat, BaoCao thì khi nhấn F1 để copy qua folder DULIEUCHIASE thì file ở folder DULIEUCHIASE chỉ hiện sheet!BaoCao thôi, còn các sheet khác bị ẩn đi.
 
Upvote 0
Em có sưu tầm code trên mạng, nhưng khi chạy code file Excel vẫn hiện 4 sheet.
Mã:
Option Explicit  
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant
  ar = Array("Sheet1", "Sheet2", "sheet3")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
End Sub
 
Upvote 0
Em đã sửa code thành:
Mã:
Option Explicit
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant
  ar = Array("TonDau", "Nhap", "Xuat")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
End Sub
thì đã ẩn các sheet: TonDau,Nhap, Xuat của cả file gốc (file không ở folder D\DU LIEUCHIA SE), em muốn là file gốc vẫn hiện dử các sheet.
Mong các anh chị giúp đỡ.
 
Lần chỉnh sửa cuối:
Upvote 0
Em đã sửa code thành:
Mã:
Option Explicit
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant
  ar = Array("TonDau", "Nhap", "BaoCao")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
End Sub
thì đã ẩn các sheet: TonDau,Nhap, Xuat của cả file gốc (file không ở folder D\DU LIEUCHIA SE), em muốn là file gốc vẫn hiện dử các sheet.
Mong các anh chị giúp đỡ.
Thì save As, xong mới ẩn
Hoặc khi đóng file cũ thì không SAVE
 
Upvote 0
Save as xong mới ẩn là vầy hả anh @ppc0312 :
Mã:
Option Explicit
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant

  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
     ar = Array("TonDau", "Nhap", "Xuat")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
End Sub
Em đã thử nhưng file gốc cũng ẩn luôn sheet.
 
Lần chỉnh sửa cuối:
Upvote 0
Save as xong mới ẩn là vầy hả anh @ppc0312 :
Mã:
Option Explicit
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant

  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
     ar = Array("TonDau", "Nhap", "Xuat")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
End Sub
Em đã thử nhưng file gốc cũng ẩn luôn sheet.
Tôi thử rồi, đạt kết quả mong muốn, Chú ý chạy 1 lần thôi
 
Upvote 0
Sao em chạy code vẫn ẩn luôn 3 sheet chỉ chừa sheet!BaoCao, em xin nói cách chạy code của em như sau:
Mở Book1-> vào Developer->Macros->run "SaveToLocations" ->thì lúc này file gốc "Book1" ẩn 3 sheet chỉ còn sheet!BaoCao hiện, em thoát Book1,nếu save thì file gốc Book1 chỉ hiện sheet!BaoCao, nếu không Save thì hiện cả 4 sheet.
Mong các Anh chị xem giúp.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Ý định của em là khi Save As file qua folder DULIEUCHIASE thì sẽ hiện sheet nào mình cần hiện, còn file gốc thì hiện hết các sheet (không ẩn sheet nào).
Mong các anh chị giúp đỡ.
 
Upvote 0
Em có file Excel tên là Book1 với 4 sheet có tên là: TonDau, Nhap, Xuat, BaoCao ở ổ D\TaiLieu(gọi là file gốc), em muốn khi chạy code "SaveToLocations" ở file gốc, thì:
1/file gốc được lưu qua ổ D\DU LIEU CHIA SE với cùng tên.
2/file được lưu ở ổ D\DU LIEU CHIA SE chỉ hiện sheet!BaoCao, còn 3 Sheet: TonDau, Nhap, Xuat thì ẩn.
3/file gốc ở ổ D\TaiLieu được lưu và hiện dầy đủ các sheet (4 sheet).
code này:
Mã:
Option Explicit
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant

  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
     ar = Array("TonDau", "Nhap", "Xuat")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
End Sub
Khi chạy code này thì:
1/ khi thoát file gốc em nhấn "Don't Save" thì có lưu file gốc sang ổ D\DU LIEU CHIA SE, nhưng file ở ổ D\DU LIEU CHIA SE vẫn hiện 4 sheet, và file gốc không được lưu (vẫn hiện 4 sheet).
2/khi thoát file gốc em nhấn "Save" thì có lưu file gốc sang ổ D\DU LIEU CHIA SE và chỉ hiện sheet!BaoCao, file gốc cũng chỉ hiện sheet!BaoCao.
Mấy anh chị giúp em với.
 
Lần chỉnh sửa cuối:
Upvote 0
Em có file Excel tên là Book1 với 4 sheet có tên là: TonDau, Nhap, Xuat, BaoCao ở ổ D\TaiLieu(gọi là file gốc), em muốn khi chạy code "SaveToLocations" ở file gốc, thì:
1/file gốc được lưu qua ổ D\DU LIEU CHIA SE với cùng tên.
2/file được lưu ở ổ D\DU LIEU CHIA SE chỉ hiện sheet!BaoCao, còn 3 Sheet: TonDau, Nhap, Xuat thì ẩn.
3/file gốc ở ổ D\TaiLieu được lưu và hiện dầy đủ các sheet (4 sheet).
code này:
Mã:
Option Explicit
Private Const DirectoriesSaveBook = "D:\DU LIEU CHIA SE\"

Sub SaveToLocations()
On Error Resume Next
  Dim ar As Variant
  Dim ws As Variant

  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
     ar = Array("TonDau", "Nhap", "Xuat")
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetHidden
  Next ws
End Sub
Khi chạy code này thì:
1/ khi thoát file gốc em nhấn "Don't Save" thì có lưu file gốc sang ổ D\DU LIEU CHIA SE, nhưng file ở ổ D\DU LIEU CHIA SE vẫn hiện 4 sheet, và file gốc không được lưu (vẫn hiện 4 sheet).
2/khi thoát file gốc em nhấn "Save" thì có lưu file gốc sang ổ D\DU LIEU CHIA SE và chỉ hiện sheet!BaoCao, file gốc cũng chỉ hiện sheet!BaoCao.
Mấy anh chị giúp em với.
-+*/ THÌ trước khi SaveCopyAs bạn ẩn sheet đi sau khi SaveCopyAs xong cho hiện sheet lại
Mã:
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetVeryHidden
  Next ws
  ActiveWorkbook.SaveCopyAs DirectoriesSaveBook & ActiveWorkbook.Name
  For Each ws In ar
    Worksheets(ws).Visible = xlSheetVisible
  Next ws
 
Upvote 0

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

Back
Top Bottom