Nhờ sửa lỗi cho Code

Liên hệ QC

Dauthivan

Thành viên tiêu biểu
Tham gia
15/8/08
Bài viết
565
Được thích
327
Code của em kiểm tra mãi mà không phát hiện được chỗ sai, mong các pac giúp em
PHP:
Sub Loc()

    Dim Arr(), DL(), KQ(), Dongcuoi As Long, i As Long, j As Long, m As Long

    On Error GoTo NextStep

   
    i = Sheets("Loc").Index
NextStep:

    If i = 0 Then Sheets.Add.Name = "Loc"

    Sheets("Loc").Move Before:=Sheets(1)

   
    With Sheets("THop") ''Có the dung: With Sheet15
        .[1:4].Copy Sheets("Loc").[A1]
        Dongcuoi = .[A65000].End(xlUp).Row
        DL = .Range("A5:J" & Dongcuoi).Value
    End With

   
    ReDim KQ(1 To UBound(DL, 1), 1 To UBound(DL, 2))

    Arr = Array(211, 212, 213, 275, 252, 371, 519161, 519166, 519115, 519111, 519118, 519941, 519945, 519911, 519131, 41, 42, 4212, 4214, 4211, 702131, 702111, 702181, 702171, 494141)

    Set Dic = CreateObject("Scripting.Dictionary")

    For i = 0 To UBound(Arr, 1)
        Tmp = Arr(i)

        If Not Dic.Exists(Tmp) Then Dic.Add Tmp, ""

    Next

    For j = 1 To UBound(DL, 1)

        If Dic.Exists(DL(j, 2)) Then
            m = m + 1

            For i = 1 To 10
                KQ(m, i) = DL(j, i)
            Next

        End If

    Next

    With Sheets("Loc")
        .Range("A5:J1000").ClearContents
        .[A5].Resize(m, 10).Value = KQ
        .UsedRange.Font.Name = ".VnTime"
        Columns("K:K").ColumnWidth = 20
        .Range("A1:J4").Font.Name = ".VnTimeH"
        .UsedRange.Font.Size = 12
        .UsedRange.EntireColumn.AutoFit
        Columns("A:A").ColumnWidth = 35
        .UsedRange.EntireRow.AutoFit
        .UsedRange.NumberFormat = "#,##0"
    End With

End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
(/ới kết cấu này:
PHP:
 On Error GoTo NextStep

    ' Tao Sheet Loc'
    i = Sheets("Loc").Index
1 NextStep:

Khi có lỗi đâu đó sau dòng lệnh được đánh số 1, chương trình sẽ quay về sau dòng này nhưng với cái lỗi chưa thành án!

Bạn suy xem, điều đó đem cho bạn nguy cơ tìềm ẩn gì không?

(/ì mình chưa thể đọc file của bạn, nên nói có vẻ án chừng:

Bạn thử thêm câu lệnh này sau dòng đánh số 1 đó xem sao:

If err>0 Then MsgBox Error(),, "Ma Loi: " & Err & " Dòng Mang Loi: " & Erl
 
Upvote 0
Cảm ơn bác HYen nhưng khi em chạy nó lại báo lỗi ở dòng .[A5].Resize(m, 10).Value = KQ
cái này em nghĩ là em làm dúng rồi chứ.
 
Upvote 0
Cảm ơn bác HYen nhưng khi em chạy nó lại báo lỗi ở dòng .[A5].Resize(m, 10).Value = KQ
cái này em nghĩ là em làm dúng rồi chứ.
Cú pháp thì đúng, nhưng khi code chạy tới đó thì m=0 (còn tại sao bằng 0 thì bạn thử tìm xem) nên .[A5].Resize(m, 10).Value = KQ bị "tèo" là đúng rồi
Híc, có cái này mà giải mãi không xong là sao nhỉ ????
 
Upvote 0
Hổng biết bạn tìm cái gì trong sheet THop vậy? Vì chẳng có phần từ nào trong Arr ( Arr = Array(211, 212,....) ) tồn tại trong sheet THop cả
 
Upvote 0
Tại em hậu đậu quá cột B trong SheetTH đang đâu lại nhân với 1000 nên hỏng bét (vẫn vụ hôm qua thày ah vì dữ liệu lỗi linh tinh nên thay vì chỉ sửa từ cột C trở đi, lại sửa luôn cột B).
 
Upvote 0
Web KT

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

Back
Top Bottom