LamNA
Thành viên tích cực


- Tham gia
- 3/6/14
- Bài viết
- 897
- Được thích
- 725
- Giới tính
- Nam
- Nghề nghiệp
- Quản Lý Cửa Hàng
Dạ em chạy code rất tốt, em cám ơn anh đã giúp đỡ
Anh có thể cho em hỏi thêm nếu em muốn tính thêm cột thứ theo Format: CN-T2-T3.....T7, thì mình thêm đoạn code như thế nào ạ
Em cám ơn
Chào anh
Em có 2 code chung 1 sheet nếu bỏ code trên thì chạy bình thường còn dùng chung 2 code thì nó sẽ báo lỗi "Private Sub Worksheet_Change1(ByVal Target As Range)"
Chắc do em không biết cách khai báo, nhờ anh hỗ trợ em cách viết nào là đúng để chạy được 2 code chung 1 sheet nhe
Em cám ơn
Mã:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rTarget As Range, aTarget, i As Long, n As Long
Dim Arr1(), Arr2(), Arr3(), Arr4(), Arr5(), Arr6(), Arr7(), tmp
On Error Resume Next
If Dic Is Nothing Then Vlookup_DATA_SP
If Not Intersect(Range("D851:D600000"), Target) Is Nothing Then
Set rTarget = Intersect(Range("D851:D600000"), Target)
If IsArray(rTarget.Value) Then
aTarget = rTarget.Value
Else
ReDim aTarget(1 To 1, 1 To 1)
aTarget(1, 1) = rTarget.Value
End If
ReDim Arr1(1 To UBound(aTarget, 1), 1 To 1)
ReDim Arr2(1 To UBound(aTarget, 1), 1 To 1)
ReDim Arr5(1 To UBound(aTarget, 1), 1 To 1)
For i = 1 To UBound(aTarget, 1)
If aTarget(i, 1) <> "" Then
tmp = aTarget(i, 1)
If Dic.Exists(tmp) Then
Arr1(i, 1) = aResult(Dic.Item(tmp), 3) 'NGANH HANG
Arr2(i, 1) = aResult(Dic.Item(tmp), 4) 'HANG
Arr5(i, 1) = aResult(Dic.Item(tmp), 5) 'LOAI HANG
End If
End If
Next
rTarget.Offset(, 36).Resize(, 1).Value = Arr1 'Vi tri tham chieu NGANH HANG
rTarget.Offset(, 38).Resize(, 1).Value = Arr2 'Vi tri tham chieu HANG
rTarget.Offset(, 37).Resize(, 1).Value = Arr5 'Vi tri tham chieu LOAI HANG
End If
End Sub
Private Sub Worksheet_Change1(ByVal Target As Range)
Dim rng As Range, change As Range
Set change = Intersect(Target, Range("M851:M600000"))
If Not change Is Nothing Then
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each rng In change
With rng
.Offset(0, 34).Value = Format(rng, "d")
.Offset(0, 35).Value = Format(rng, "m")
.Offset(0, 36).Value = Format(rng, "yyyy")
.Offset(0, 32).Value = Format(rng, "ww")
End With
Next rng
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
End Sub