Hổ trợ code lấy Mã số thuê từ diễn giải (1 người xem)

  • Thread starter Thread starter maikhoi
  • Ngày gửi Ngày gửi
Liên hệ QC

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

maikhoi

Thành viên chính thức
Tham gia
25/10/11
Bài viết
72
Được thích
43
Xin nhờ viết cho mình một đoạn code lấy mã số thuế từ cột diễn giải trong file đính kèm. Xin cảm ơn sự giúp đỡ của các bạn. Mỗi tháng mình phải làm thủ công bằng tay mất nhiều thời gian quá
 

File đính kèm

Xin nhờ viết cho mình một đoạn code lấy mã số thuế từ cột diễn giải trong file đính kèm. Xin cảm ơn sự giúp đỡ của các bạn. Mỗi tháng mình phải làm thủ công bằng tay mất nhiều thời gian quá
Bạn dùng thử Code này thử
Mã:
Sub TimMST()
    Dim sArr, dArr, Tmp, J As Long, I As Long
With Sheet1
    sArr = .Range("A3", .Range("A65535").End(3)).Value
    ReDim dArr(1 To UBound(sArr), 1 To 1)
    For I = 1 To UBound(sArr)
        Tmp = Split(sArr(I, 1), "-")
        For J = 0 To UBound(Tmp)
            If IsNumeric(Tmp(J)) Then
                If dArr(I, 1) = "" Then
                    dArr(I, 1) = Tmp(J)
                Else
                    dArr(I, 1) = dArr(I, 1) & "-" & Tmp(J)
                End If
                If Not IsNumeric(Tmp(J + 1)) Or Tmp(J + 1) > 100 Then Exit For
            End If
        Next J
    Next I
    .Range("C3:C1000").ClearContents
    .Range("C3").Resize(I - 1, 1).NumberFormat = "@"
    .Range("C3").Resize(I - 1, 1) = dArr
End With
End Sub
P/S cái này chỉ đúng với dữ liệu trong File và 1 công ty có 100 chi nhánh đổ xuống thôi :D
 

File đính kèm

Upvote 0
Bạn dùng thử Code này thử
Mã:
Sub TimMST()
    Dim sArr, dArr, Tmp, J As Long, I As Long
With Sheet1
    sArr = .Range("A3", .Range("A65535").End(3)).Value
    ReDim dArr(1 To UBound(sArr), 1 To 1)
    For I = 1 To UBound(sArr)
        Tmp = Split(sArr(I, 1), "-")
        For J = 0 To UBound(Tmp)
            If IsNumeric(Tmp(J)) Then
                If dArr(I, 1) = "" Then
                    dArr(I, 1) = Tmp(J)
                Else
                    dArr(I, 1) = dArr(I, 1) & "-" & Tmp(J)
                End If
                If Not IsNumeric(Tmp(J + 1)) Or Tmp(J + 1) > 100 Then Exit For
            End If
        Next J
    Next I
    .Range("C3:C1000").ClearContents
    .Range("C3").Resize(I - 1, 1).NumberFormat = "@"
    .Range("C3").Resize(I - 1, 1) = dArr
End With
End Sub
P/S cái này chỉ đúng với dữ liệu trong File và 1 công ty có 100 chi nhánh đổ xuống thôi :D
Cảm ơn bạn nhiều lắm
 
Upvote 0
Web KT

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

Back
Top Bottom