Bạn dùng thử Code này thử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á
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
Cảm ơn bạn nhiều lắmBạn dùng thử Code này thử
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ôiMã: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
![]()