Giúp sửa code tự động Lưu theo thời gian (1 người xem)

Liên hệ QC

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

minhtuan55

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
23/3/16
Bài viết
705
Được thích
52
Chào cả nhà GPE!
Em có dùng đoạn code tự động lưu trên cũng ở Trên diễn đàn luôn

Mã:
Private Sub Workbook_Open() ‘ kich cho nó hoat dong
Auto_Save
End Sub

Sub File_Save()
ThisWorkbook.Save
Auto_Save
End Sub

Sub Auto_Save()
Application.OnTime Now + TimeValue("00:05:00"), "File_Save"
End Sub

Code chạy thì rất ok. Nhưng test thật kỷ thấy nó bị lỗi như sau mà chưa biết sửa ra làm sao
Ví dụ: em cho code này vào File tên là "Banhang"
Bước 1: mở File "banhang" lên thì nó cứ 5 phút lưu 1 lần thì OK
Bước 2: Để yên file "banhang" không tắt , mở tiếp 1 file khác lên ví dụ file "Nhaphang" ( File nhap hang file excel bình thường không có code ). Sau đó tắt file "banhang" đi. Thì sau 5 phút sau lại nó hiện lên File"banhang" tiếp và hiện 1 thông báo lỗi 1004 gì đó.

Giờ em muốn sửa lại: là khi tắt file"Banhang" ( File dùng code tự động lưu) đi thì code đó không có tác dụng . Chỉ khi Nào mở 1 mình nó thì mới có tác dụng. Xin chân thành cảm ơn mọi người. Chúc Giáng Sinh Vui Vẽ
 
Hình như có liên quan nhau.
www.giaiphapexcel.com/diendan/threads/giúp-code-xác-định-khi-mở-từ-2-file-trở-lên.132194/
Vì sao bạn muốn nếu có mở file khác thì code không có tác dụng?

Không cái này không liên quan đâu. Cái kia em biết code rồi
( If Application.Workbooks.Count >= 2 Then )

Tại vì: khi mình tắt cái File đó đi thì mình không muốn tự động lưu nữa. Mấy file không có code khi nào save thì mình Ctrl + S. Chứ sợ nhập sai rồi nó tự lưu nữa
 
Upvote 0
Làm gì có chuyện mấy file khác tự lưu.
Vậy rốt cuộc là bạn muốn code chỉ có hiệu lực trên file đặt code, khi đóng file thì hủy lệnh tự lưu hay là code chỉ có hiệu lực khi chỉ mở một mình file chứa code?
 
Upvote 0
Tạo modun với code sau
Mã:
Dim mTime As Date

Sub Auto_Save()
    mTime = Now + TimeSerial(0, 1, 0)
    Application.OnTime mTime, "File_Save"
End Sub

Sub CloseFile()
    'On Error Resume Next
    Application.OnTime mTime, "File_Save", , False
End Sub


Sub File_Save()
    On Error Resume Next
    ThisWorkbook.Save
    Auto_Save
    If Err.Number <> 0 Then
        MsgBox Err.Description
        Err.Clear
    End If
End Sub


Trên thisworkbook

Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    CloseFile
End Sub

Private Sub Workbook_Open()  'kich cho nó hoat dong
Auto_Save
End Sub
 
Upvote 0
Tạo modun với code sau
Mã:
Dim mTime As Date

Sub Auto_Save()
    mTime = Now + TimeSerial(0, 1, 0)
    Application.OnTime mTime, "File_Save"
End Sub

Sub CloseFile()
    'On Error Resume Next
    Application.OnTime mTime, "File_Save", , False
End Sub


Sub File_Save()
    On Error Resume Next
    ThisWorkbook.Save
    Auto_Save
    If Err.Number <> 0 Then
        MsgBox Err.Description
        Err.Clear
    End If
End Sub


Trên thisworkbook

Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    CloseFile
End Sub

Private Sub Workbook_Open()  'kich cho nó hoat dong
Auto_Save
End Sub
File có code mà cứ lưu liên tục đến 1 ngày nào đó cái file đó phình to ra và chạy rất chậm .... tại sao Ư ... ko biết

Nếu không tin cứ thử test là thấy .... thấy rõ nhất là file có vài chục Module code ... nói chung là rất nhiều code

Nếu làm biếng cứ Auto-Save đi đến 1 ngày nào đó biết liền à .............. hahaha
 
Upvote 0
Làm gì có chuyện mấy file khác tự lưu.
Vậy rốt cuộc là bạn muốn code chỉ có hiệu lực trên file đặt code, khi đóng file thì hủy lệnh tự lưu hay là code chỉ có hiệu lực khi chỉ mở một mình file chứa code?
Dạ dúng rồi anh. Anh không tin anh cứ thử. Anh mở 1 file có Code lên trước sau đó anh mở tiếp 1 file khác lên rồi anh đóng file có code thì anh canh đúng 5 phút thì nó sẽ tự lưu và đống thời nó mở file có code lên Luôn. Em muốn khi File có code tắt đi rồi thì Code không tác dụng nữa. Anh có thể tham khảo Trang nước ngoài người ta chưa giải quyết được https://www.mrexcel.com/forum/excel-questions/80363-autosave-vba.html
 
Upvote 0
File có code mà cứ lưu liên tục đến 1 ngày nào đó cái file đó phình to ra và chạy rất chậm .... tại sao Ư ... ko biết

Nếu không tin cứ thử test là thấy .... thấy rõ nhất là file có vài chục Module code ... nói chung là rất nhiều code

Nếu làm biếng cứ Auto-Save đi đến 1 ngày nào đó biết liền à .............. hahaha
dà em Test rồi anh File e chạy từ 2011 đến giờ đến nay 2017 Lúc ban đầu 3mb giờ 3.5 mb
 
Upvote 0
Tạo modun với code sau
Mã:
Dim mTime As Date

Sub Auto_Save()
    mTime = Now + TimeSerial(0, 1, 0)
    Application.OnTime mTime, "File_Save"
End Sub

Sub CloseFile()
    'On Error Resume Next
    Application.OnTime mTime, "File_Save", , False
End Sub


Sub File_Save()
    On Error Resume Next
    ThisWorkbook.Save
    Auto_Save
    If Err.Number <> 0 Then
        MsgBox Err.Description
        Err.Clear
    End If
End Sub


Trên thisworkbook

Mã:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    CloseFile
End Sub

Private Sub Workbook_Open()  'kich cho nó hoat dong
Auto_Save
End Sub

Báo cáo với Bạn. Code bạn đúng ý 100%. Chân thành cảm ơn
 
Upvote 0
Dạ dúng rồi anh. Anh không tin anh cứ thử. Anh mở 1 file có Code lên trước sau đó anh mở tiếp 1 file khác lên rồi anh đóng file có code thì anh canh đúng 5 phút thì nó sẽ tự lưu và đống thời nó mở file có code lên Luôn. Em muốn khi File có code tắt đi rồi thì Code không tác dụng nữa. Anh có thể tham khảo Trang nước ngoài người ta chưa giải quyết được https://www.mrexcel.com/forum/excel-questions/80363-autosave-vba.html
Code của họ la lá ở bài #6.

Cứ đóng file chứa code, mà còn ít nhất một file khác thì "Hàng đợi" của nó vẫn tồn tại nên nó chạy lại thôi. Khi đóng file chứa code phải hủy "Hàng đợi" của nó thì sẽ không chạy lại.
 
Upvote 0
Dạ dúng rồi anh. Anh không tin anh cứ thử. Anh mở 1 file có Code lên trước sau đó anh mở tiếp 1 file khác lên rồi anh đóng file có code thì anh canh đúng 5 phút thì nó sẽ tự lưu và đống thời nó mở file có code lên Luôn. Em muốn khi File có code tắt đi rồi thì Code không tác dụng nữa. Anh có thể tham khảo Trang nước ngoài người ta chưa giải quyết được https://www.mrexcel.com/forum/excel-questions/80363-autosave-vba.html
Bạn tìm không đúng chỗ thôi chứ cả đống. Ngay cả trong Help của Excel phần Ontime cũng có nói rõ rồi.
Giờ em muốn sửa lại: là khi tắt file"Banhang" ( File dùng code tự động lưu) đi thì code đó không có tác dụng . Chỉ khi Nào mở 1 mình nó thì mới có tác dụng. Xin chân thành cảm ơn mọi người. Chúc Giáng Sinh Vui Vẽ
Code trong topic này chưa có cái nào làm giống như chỗ đỏ đỏ cả.
Vậy mà
Báo cáo với Bạn. Code bạn đúng ý 100%. Chân thành cảm ơn
 
Upvote 0
dà em Test rồi anh File e chạy từ 2011 đến giờ đến nay 2017 Lúc ban đầu 3mb giờ 3.5 mb
Vậy thì tiện đây bày cho cách giải phóng dung lượng file nè
1/ đổi tên file ra tên khác
2/ Mở file mới đó lên khi Excel hỏi có cho chạy Macro không (Màu Vàng ấy) thì kệ nó bấm tổ hợp Phín Alt + F11 vào VBA bấm đại qua lại 1 ,2 module gì đó xong Lưu ngay trong VBA .... xong thoát File ...Kiểm tra lại dung lương File
3/ đừng hỏi tại sao ............ Không biết
4/ Còn vài chuyện vặt nữa từ từ nói tiếp khi cần thiếtCapture.PNG
 
Upvote 0
Bạn tìm không đúng chỗ thôi chứ cả đống. Ngay cả trong Help của Excel phần Ontime cũng có nói rõ rồi.

Code trong topic này chưa có cái nào làm giống như chỗ đỏ đỏ cả.
Vậy mà

Cái vấn đề này thớt chuẩn bị đã lâu rồi. Cứ ít lâu lại nghĩ ra cách hỏi cho khác một chút. Cô cậu nào đi ngang ngứa tay code thì dính chấu.

Nhưng mà biết đâu được. Dân gian ta có câu "phước chủ may thầy". Cỡ 100 lần thì cũng có lần trúng thôi.
 
Upvote 0
Code của họ la lá ở bài #6.

Cứ đóng file chứa code, mà còn ít nhất một file khác thì "Hàng đợi" của nó vẫn tồn tại nên nó chạy lại thôi. Khi đóng file chứa code phải hủy "Hàng đợi" của nó thì sẽ không chạy lại.

Anh ơi COde bị lổi rồi. Ví dụ em Mở file có Code ( ví dụ 10 giây lưu 1 lần ) lên trước sau đó để yên không tắt. em mở 1 file khác lên em làm việc thì đúng lúc tới 10 giây là nó chạy giật giật lộn xộn hết để ep Úp video anh xem

 
Upvote 0
Cái vấn đề này thớt chuẩn bị đã lâu rồi. Cứ ít lâu lại nghĩ ra cách hỏi cho khác một chút. Cô cậu nào đi ngang ngứa tay code thì dính chấu.

Nhưng mà biết đâu được. Dân gian ta có câu "phước chủ may thầy". Cỡ 100 lần thì cũng có lần trúng thôi.
Cái này nữa anh. :(
http://www.giaiphapexcel.com/diendan/threads/giúp-code-xác-định-khi-mở-từ-2-file-trở-lên.132194/
 
Upvote 0
Vậy thì tiện đây bày cho cách giải phóng dung lượng file nè
1/ đổi tên file ra tên khác
2/ Mở file mới đó lên khi Excel hỏi có cho chạy Macro không (Màu Vàng ấy) thì kệ nó bấm tổ hợp Phín Alt + F11 vào VBA bấm đại qua lại 1 ,2 module gì đó xong Lưu ngay trong VBA .... xong thoát File ...Kiểm tra lại dung lương File
3/ đừng hỏi tại sao ............ Không biết
4/ Còn vài chuyện vặt nữa từ từ nói tiếp khi cần thiếtView attachment 188464

Em sài Excel 2003 thì làm sao bác
 
Upvote 0
Nói chung diễn đàn phải cần những người như em. Ví em hỏi rất thực tế.
- Thứ nhất em hỏi rất Kỹ và đúng vấn đề thực tế đang cần
- Thứ 2 em hỏi để diễn đàn có thêm nhiều kiến thức hơn. Và cho cá thể hệ Trẻ Trâu họ vào tím kiếm cho Nhanh khỏi phải hỏi nữa
Như vậy mọi người cứ giúp đở mình nhiệt tình nha. Đừng ghét em tội nghiệp em. Tại em ghiền excel thôi. Bác nào ở Phú nhuận ghé Nhà em mời 1 bữa nhậu. Địa chỉ: 73 Hoa sữa ( Khách sạn Bình Phường Ngân ) Nhà em kinh doanh Khách sạn nha mấy bác
 
Upvote 0
Nói chung diễn đàn phải cần những người như em. Ví em hỏi rất thực tế.
- Thứ nhất em hỏi rất Kỹ và đúng vấn đề thực tế đang cần
- Thứ 2 em hỏi để diễn đàn có thêm nhiều kiến thức hơn. Và cho cá thể hệ Trẻ Trâu họ vào tím kiếm cho Nhanh khỏi phải hỏi nữa
Như vậy mọi người cứ giúp đở mình nhiệt tình nha. Đừng ghét em tội nghiệp em. Tại em ghiền excel thôi. Bác nào ở Phú nhuận ghé Nhà em mời 1 bữa nhậu. Địa chỉ: 73 Hoa sữa ( Khách sạn Bình Phường Ngân ) Nhà em kinh doanh Khách sạn nha mấy bác
 
Upvote 0
Web KT

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

Back
Top Bottom