Biến gán bởi Name Range không dùng cho lệnh điều kiện IF (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

dcmn1994

Thành viên mới
Tham gia
30/10/13
Bài viết
10
Được thích
0
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 ạ
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ó ạ
 

File đính kèm

À còn nữa, dữ liệu từ dòng 4 mà for k bắt đầu từ 8
 
Upvote 0
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom