Nhờ xem code VBA không chạy đúng ý

Liên hệ QC
Status
Không mở trả lời sau này.

hic1802

Thành viên tiêu biểu
Tham gia
16/2/13
Bài viết
545
Được thích
34
Giới tính
Nam
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

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.
 
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom