em chào các bác ạ, em có cái code viết bằng VBA mà không chạy được, em dùng biến gán giá trị của ô vào nhưng trong lệnh điều kiện IF nó không chạy, các bác xem giúp em sai ở dâu với ạ
đây là file của nó ạ
Mã:
Sub AutoAdd_Data3()
Dim k As Long, maxSTT As Long, h As Long, dkmang As Long, dongdata As Long, DK_LT_BD As Variant, DK_LT_KT As Variant, _
DK_DOAN As Variant, DK_LOP_BD As Variant, DK_LOP_KT As Variant, dieu_kien As Variant, dong_cuoi As Variant, TA As Variant, _
dong_cuoi2 As Variant
'Dim arrLop() As Variant
dong_cuoi = Sheet1.Range("B" & Rows.Count).End(xlUp).Row
'ReDim arrLop(dong_cuoi)
'DK_LT_BD = 0
'DK_LT_KT = 0
'DK_DOAN = 0
'DK_LOP_BD = 0
'DK_LOP_KT = 0
dieu_kien = 0
k = 0
h = 0
For TA = ActiveSheet.Index To Sheets.Count
If Sheets(TA).Visible = xlSheetVisible Then
Sheets(TA).Select
DK_LT_BD = Range("DK_TU").Value
DK_LT_KT = Range("DK_DEN").Value
DK_DOAN = Range("DK_DOAN").Value
dieu_kien = Sheets(TA).Range("AC3").Value
Select Case dieu_kien
Case "PLKTHH"
h = 16
dong_cuoi2 = Sheets(TA).Range("V" & Rows.Count).End(xlUp).Row
Range("V" & h & ":" & "V" & dong_cuoi2 + 1).Select
Selection.ClearContents
DK_LOP_BD = Sheets(TA).Range("DK_LOP_BD").Value
DK_LOP_KT = Sheets(TA).Range("DK_LOP_KT").Value
For dkkt = 1 To DK_LOP_BD - DK_LOP_KT + 1
Sheet1.Select
For k = 8 To dong_cuoi
If Sheet1.Range("A" & k).Value = DK_DOAN And Sheet1.Range("C" & k).Value >= DK_LT_BD And _
Sheet1.Range("C" & k).Value <= DK_LT_KT And Sheet1.Range("D" & k).Value = DK_LOP_BD And _
DK_LOP_BD >= DK_LOP_KT Then
Sheets(TA).Range("V" & h) = Sheet1.Range("E" & k)
h = h + 1
End If
Next k
DK_LOP_BD = DK_LOP_BD - 1
Next dkkt
End Select
End If
Next
'MsgBox DK_LOP_KT
End Sub
đây là file của nó ạ