Chạy cùng lúc hai mã VBA trên cùng 1 trang tính.

Liên hệ QC

0969261871

Thành viên mới
Tham gia
5/8/21
Bài viết
4
Được thích
0
mình có tìm dc hai mã vba thích hợp cho trang tính của mình. nhưng lồng làm sao để cho 2 mã đó có thể chạy cùng lúc. Và sau này nếu có 3 mã, hoặc hơn thì làm sao để ghép chung. nhờ mọi người hướng dẫn giúp. Thanks
mã 1 : TỰ ĐỘNG ĐIỀN NGÀY THÁNG
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cell_ As Range
Set rng = Intersect(Target, Range("b:b"))
If Not rng Is Nothing Then
Application.EnableEvents = False
For Each cell_ In rng
If cell_.Value <> "" Then
cell_.Offset(, 2).Value = now
Else
cell_.Offset(, 2).Value = ""
End If
Next cell_
Application.EnableEvents = True
End If
End Sub
mã 2: TỰ ĐỘNG KHÓA CELL
Option Explicit
'
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
'Password toi dat la "nvson", ban co the thay doi lai
Dim rngData As Range
For Each rngData In Target.Cells
If Not IsEmpty(rngData.Value) Then
ActiveSheet.Protect ("nvson")
Exit Sub
Else
ActiveSheet.Unprotect ("nvson")
End If
Next rngData
End Sub
 

File đính kèm

  • XUAT-NHAP-HANG-T9.xlsm
    156.4 KB · Đọc: 5
Mấy đoạn này không gộp chung cơ học được đâu bạn.

Trước tiên bạn quét chọn B3:Bxx nào đó muốn thay đổi -> Format Cells -> Protection -> bỏ chọn Locked đi

Rồi chép code này vào sheet code bạn muốn làm:
Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cell_ As Range
Set rng = Intersect(Target, Range("B:B"))
If Not rng Is Nothing Then
    Application.EnableEvents = False
    ActiveSheet.Unprotect ("nvson")
    For Each cell_ In rng
        If cell_.Value <> "" Then
            cell_.Offset(, 2).Value = Now
        Else
            cell_.Offset(, 2).Value = ""
        End If
    Next cell_
    ActiveSheet.Protect ("nvson")
    Application.EnableEvents = True
End If
End Sub
 
Mấy đoạn này không gộp chung cơ học được đâu bạn.

Trước tiên bạn quét chọn B3:Bxx nào đó muốn thay đổi -> Format Cells -> Protection -> bỏ chọn Locked đi

Rồi chép code này vào sheet code bạn muốn làm:
Rich (BB code):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, cell_ As Range
Set rng = Intersect(Target, Range("B:B"))
If Not rng Is Nothing Then
    Application.EnableEvents = False
    ActiveSheet.Unprotect ("nvson")
    For Each cell_ In rng
        If cell_.Value <> "" Then
            cell_.Offset(, 2).Value = Now
        Else
            cell_.Offset(, 2).Value = ""
        End If
    Next cell_
    ActiveSheet.Protect ("nvson")
    Application.EnableEvents = True
End If
End Sub
Cám ơn bạn nhưng ko thành công. Mình đành bỏ cái mã cập nhật ngày giờ rồi.
 
Web KT
Back
Top Bottom