Tự động khóa dữ liệu sau 24h

Liên hệ QC

CEnhat

Thành viên mới
Tham gia
11/8/14
Bài viết
15
Được thích
0
Chào các bạn!
Mình có 1 file excel. Mình muốn khóa dữ liệu cột E (Stock) sau 24h kể từ khi nhập dữ liệu vào ô đó. Mục đích làm vì các bạn nhập dữ liệu thường xuyên sửa dữ liệu sau khi thông tin mang in bảng xuống họp.
Các bạn giúp mình nhé! file mình attached bên đưới.
 

File đính kèm

  • Tồn Kho Sơn Mixing.xlsx
    10.3 KB · Đọc: 7
Chào các bạn!
Mình có 1 file excel. Mình muốn khóa dữ liệu cột E (Stock) sau 24h kể từ khi nhập dữ liệu vào ô đó. Mục đích làm vì các bạn nhập dữ liệu thường xuyên sửa dữ liệu sau khi thông tin mang in bảng xuống họp.
Các bạn giúp mình nhé! file mình attached bên đưới.
Thế không ai có tiếng nói trong cơ quan à? Tại sao sếp phải thua mấy thằng làm công ăn lương? Phê bình, cảnh cáo, trừ lương. Đi làm thuê không phải muốn làm gì thì làm.
 
Upvote 0
Thế không ai có tiếng nói trong cơ quan à? Tại sao sếp phải thua mấy thằng làm công ăn lương? Phê bình, cảnh cáo, trừ lương. Đi làm thuê không phải muốn làm gì thì làm.
Tại các báo cáo tồn kho này. Các bạn đó sẽ thường căn chỉnh lại cho phù hợp. Ko bắt được nên ko nói dc. Mình muốn áp dụng biện pháp này cho hiệu quả. Khi muốn sửa lại cần có yêu cầu tường trình tại sao thì mình cho mật khẩu sửa ý ạ.
 
Upvote 0
Tại các báo cáo tồn kho này. Các bạn đó sẽ thường căn chỉnh lại cho phù hợp. Ko bắt được nên ko nói dc. Mình muốn áp dụng biện pháp này cho hiệu quả. Khi muốn sửa lại cần có yêu cầu tường trình tại sao thì mình cho mật khẩu sửa ý ạ.
Bạn chưa hỏi được cách khóa thì người ta đã hỏi được cách bẻ khóa rồi. :D

Chuyện bé tẹo tèo teo ấy mà.
Bạn là người nhận báo cáo thì chỉ nhận khi và chỉ khi: báo cáo gửi qua email (hoặc in bản cứng, ký và ghi rõ họ tên người nộp báo cáo).
Vậy thôi. Điều kiện trên mình không đủ quyền đưa ra thì kêu người quyền to hơn đưa ra. Nếu không thì chỉ bó tay chấm muối.
 
Upvote 0
Chỉ dẫn thôi cũng là giúp đúng không.
Mã:
'Code module Workbook'-----------------------------------------------
'Lưu Ý Chọn Sheet   Sheet1. [A1].Value
Private Sub Workbook_Open()
'Cho Cách 2
Sheets(1).[A1].Value =  ""
StartFind_1

End Sub

'Code module Worksheet'-----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([E:E], Target) Is Nothing And Not IsArray(Target) Then
        'Cách 1'
        Application.OnTime Now + TimeValue("23:59:59"), "LockCells"
        'Dành cho cách 2'
        ' Sheets(1). [A1].Value = Now + TimeValue("23:59:59")'
    End If
End Sub

'Code Module'-----------------------------------------------------------------------
Public timeSec As Date
Sub LockCells()
on error resume next
   Sheets(1).Unprotect Password:="123456"
    Sheets(1). [E:E].Locked = True
    'Lock Worksheet để Lock Cell'
     Sheets(1).Protect DrawingObjects:=True, Contents:=True, _
        Scenarios:=True, Password="123456"
'Nên khóa luôn VBA
    'Cho Cách 2
    'Sheets(1).[A1].Value =  ""
End Sub

'Cách 2' cho Workbook chạy Realtime
'Gọi StartFind_1 khi khởi động , A1 = "" '
Sub StartFind_1()
    If Now > [A1].value And [A1].Value <> "" Then LockCells
  StartFind_2
End Sub
Sub StartFind_2()
  'Thay đổi' thời gian mỗi lần duyệt TimeValue("00:00:01")
  timeSec = Now + TimeValue("00:00:01")
  Application.OnTime timeSec, "StartFind_1"
End Sub
Sub StopTimer()
    On Error Resume Next
    Application.OnTime timeSec, Procedure:="StartFind_1", Schedule:=False
End Sub
 
Upvote 0
Chỉ dẫn thôi cũng là giúp đúng không.
Mã:
'Code module Workbook'-----------------------------------------------
'Lưu Ý Chọn Sheet   Sheet1. [A1].Value
Private Sub Workbook_Open()
'Cho Cách 2
Sheets(1).[A1].Value =  ""
StartFind_1

End Sub

'Code module Worksheet'-----------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect([E:E], Target) Is Nothing And Not IsArray(Target) Then
        'Cách 1'
        Application.OnTime Now + TimeValue("23:59:59"), "LockCells"
        'Dành cho cách 2'
        ' Sheets(1). [A1].Value = Now + TimeValue("23:59:59")'
    End If
End Sub

'Code Module'-----------------------------------------------------------------------
Public timeSec As Date
Sub LockCells()
on error resume next
   Sheets(1).Unprotect Password:="123456"
    Sheets(1). [E:E].Locked = True
    'Lock Worksheet để Lock Cell'
     Sheets(1).Protect DrawingObjects:=True, Contents:=True, _
        Scenarios:=True, Password="123456"
'Nên khóa luôn VBA
    'Cho Cách 2
    'Sheets(1).[A1].Value =  ""
End Sub

'Cách 2' cho Workbook chạy Realtime
'Gọi StartFind_1 khi khởi động , A1 = "" '
Sub StartFind_1()
    If Now > [A1].value And [A1].Value <> "" Then LockCells
  StartFind_2
End Sub
Sub StartFind_2()
  'Thay đổi' thời gian mỗi lần duyệt TimeValue("00:00:01")
  timeSec = Now + TimeValue("00:00:01")
  Application.OnTime timeSec, "StartFind_1"
End Sub
Sub StopTimer()
    On Error Resume Next
    Application.OnTime timeSec, Procedure:="StartFind_1", Schedule:=False
End Sub
Thank bạn nhé.
Bạn có thể copy riêng ra từng cách được không. Mình ko biết về code. Đọc loạn lên chỗ nào là cách 1 cách 2 ý.
 
Upvote 0
Thank bạn nhé.
Bạn có thể copy riêng ra từng cách được không. Mình ko biết về code. Đọc loạn lên chỗ nào là cách 1 cách 2 ý.
Khóa Cell khóa Worksheet mà không biết chút cơ bản VBA thì không nên dùng. Lỡ lỗi xảy ra sao kiểm soát
 
Upvote 0
Thank bạn nhé.
Bạn có thể copy riêng ra từng cách được không. Mình ko biết về code. Đọc loạn lên chỗ nào là cách 1 cách 2 ý.

Khi biết chút ít về VBA thì mới tính đến giải pháp xử lý công việc bạn ạ. Còn bày sẳn hết ra măm thì hầu như không ai thích việc này.
 
Upvote 0
Web KT
Back
Top Bottom