Chào diễn đàn GPE,
Lâu mới ghé thăm thấy giao diện và post bài mới hơi khác
Em có đoạn code nhờ mọi người giúp
Em thấy code chạy đúng khi cột A thay đổi
Còn khi các range khác thay đổi ko thấy chạy lệnh tức là các dòng lệnh phía dưới không thấy tác dụng gì
Nhờ mọi người giúp đỡ dòng code trên.
Cảm ơn mọi người trước.
Lâu mới ghé thăm thấy giao diện và post bài mới hơi khác
Em có đoạn code nhờ mọi người giúp
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngA As Range
Dim rngTempA As Range
On Error GoTo Loi
Set rngA = Application.Intersect(Me.Range("A5", Me.Cells(Me.Rows.Count, 1)), Target)
If rngA Is Nothing Then GoTo Thoat 'vung khong lien quan
For Each rngTempA In rngA.Areas
With rngTempA
.Offset(, 1).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[1]="""","""",VLOOKUP(RC[1],DM_SP!R2C2:R9999C7,6,0))")
.Offset(, 7).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[-5]="""","""",VLOOKUP(RC[-5],DONGIA!R2C7:R9998C10,4,0))")
.Offset(, 8).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(RC[-4]/RC[-1],"""")")
.Offset(, 9).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[-7]="""","""",VLOOKUP(RC[-7],DM_SP!R2C2:R999C7,3,0))")
.Offset(, 10).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[-8]="""","""",VLOOKUP(RC[-8],DM_SP!R2C2:R999C7,4,0))")
.Offset(, 11).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[-9]="""","""",VLOOKUP(RC[-9],DM_SP!R2C2:R999C7,4,0))")
.Offset(, 75).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(RC[-15]+RC[-16]+RC[-17],0)")
.Offset(, 82).FormulaR1C1 = GetFormual(rngTempA, "=SUMIFS(BC_NGAYSX!R5C12:R9940C12,BC_NGAYSX!R5C3:R9940C3,RC[-79])")
.Offset(, 83).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[-14]="""","""",IF(RC[-1]="""",""CN"",IFERROR(RC[-2]/RC[-1],0)))")
.Offset(, 84).FormulaR1C1 = GetFormual(rngTempA, "=IF(RC[-5]<>"""",IFERROR(RC[-5]/RC[-2],""""),IFERROR(RC[-10]/RC[-2],""""))")
.Offset(, 85).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(RC[-1]/RC[-78],"""")")
.Offset(, 86).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(RC[-12]/RC[-11],"""")")
.Offset(, 87).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(2*RC[-1]/(RC[-78]+RC[-77]),"""")")
.Offset(, 92).FormulaR1C1 = GetFormual(rngTempA, "=RC[-6]")
.Offset(, 93).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(RC[-19]/(RC[-34]+RC[-33]),"""")")
.Offset(, 94).FormulaR1C1 = GetFormual(rngTempA, "=IF(AND(RC[-94]<>"""",R[-1]C<>""""),R[-1]C+1,IF(AND(RC[-94]<>"""",R[-1]C=""""),1,""""))")
.Offset(, 95).FormulaR1C1 = GetFormual(rngTempA, "=IF(AND(RC[1]<>"""",RC[2]<>"""",RC[3]<>"""",RC[4]<>""""),""x"","""")")
.Offset(, 81).FormulaR1C1 = GetFormual(rngTempA, "=IF(AND(RC[-7]="""",RC[-2]=""""),"""",IF(RC[-7]=RC[-2],""ÐÚNG"",""SAI""))")
.Offset(, 58).FormulaR1C1 = GetFormual(rngTempA, "=IFERROR(RC[-32]+RC[-31]+RC[-30]+RC[-29]+RC[-28]+RC[-27]+RC[-26]+RC[-25]+RC[-24]+RC[-23]+RC[-22]*0.1+RC[-21]*0.035+RC[-20]+RC[-19]+RC[-18]+RC[-17]+RC[-16]+RC[-15]+RC[-14]+RC[-13]+RC[-12]+RC[-11]+RC[-10]+RC[-9]+RC[-8]+RC[-7]+RC[-6]+RC[-5]*1+RC[-4],0)")
End With
rngTempA.Resize(, 100).Borders.LineStyle = 1
Next
Thoat:
Set rngA = Nothing
Set rngTempA = Nothing
With Range("C4:C99999")
If Not Intersect(Target, .Cells) Is Nothing Then
If Target <> "" Then Target.Offset(, 3).Value = Now()
Target.Offset(, 94).NumberFormat = "hh:mm - dd/mm"
End If
End With
Exit Sub
Loi:
MsgBox Err.Description
Resume Thoat
If Not Intersect(Range("N4:y99999"), Target) Is Nothing Then
Cells(Target.Row, 98).Value = Now()
Cells(Target.Row, 98).NumberFormat = "hh:mm - dd/mm"
End If
If Not Intersect(Range("bh4:bk99999"), Target) Is Nothing Then
Cells(Target.Row, 99).Value = Now()
Cells(Target.Row, 99).NumberFormat = "hh:mm - dd/mm"
End If
If Not Intersect(Range("bl4:bo99999"), Target) Is Nothing Then
Cells(Target.Row, 100).Value = Now()
Cells(Target.Row, 100).NumberFormat = "hh:mm - dd/mm"
End If
End Sub
Em thấy code chạy đúng khi cột A thay đổi
Còn khi các range khác thay đổi ko thấy chạy lệnh tức là các dòng lệnh phía dưới không thấy tác dụng gì
Mã:
If Not Intersect(Range("N4:y99999"), Target) Is Nothing Then
Cells(Target.Row, 98).Value = Now()
Cells(Target.Row, 98).NumberFormat = "hh:mm - dd/mm"
End If
If Not Intersect(Range("bh4:bk99999"), Target) Is Nothing Then
Cells(Target.Row, 99).Value = Now()
Cells(Target.Row, 99).NumberFormat = "hh:mm - dd/mm"
End If
If Not Intersect(Range("bl4:bo99999"), Target) Is Nothing Then
Cells(Target.Row, 100).Value = Now()
Cells(Target.Row, 100).NumberFormat = "hh:mm - dd/mm"
End If
Nhờ mọi người giúp đỡ dòng code trên.
Cảm ơn mọi người trước.