quen_tat_ca
Thành viên mới

- Tham gia
- 7/9/24
- Bài viết
- 11
- Được thích
- 1
Thử code dưới đâyMình có dữ liệu ở cột B của sheet1 vừa có số vừa có text, giờ mình muốn lọc lấy text ra cột D của sheet2, sau đó tách lấy số ra ờ cột E và text ở cột F, nhờ các bác hướng dẫn dùm. Xin cám ơn!
Option Explicit
Sub abcd()
Dim sArr
Dim Res
Dim i, j, k
sArr = Sheet1.Range("B3").CurrentRegion
ReDim Res(1 To UBound(sArr), 1 To 3)
k = 1
For i = 1 To UBound(sArr)
If IsNumeric(sArr(i, 1)) = False Then
Res(k, 1) = sArr(i, 1)
For j = Len(Res(k, 1)) To 1 Step -1
If IsNumeric(Left(Res(k, 1), j)) Then
Res(k, 2) = Left(Res(k, 1), j)
Res(k, 3) = Right(Res(k, 1), Len(Res(k, 1)) - j)
k = k + 1
Exit For
End If
Next j
End If
Next i
Sheet2.Range("H3").Resize(k, 3) = Res
End Sub
Bạn thửMình có dữ liệu ở cột B của sheet1 vừa có số vừa có text, giờ mình muốn lọc lấy text ra cột D của sheet2, sau đó tách lấy số ra ờ cột E và text ở cột F, nhờ các bác hướng dẫn dùm. Xin cám ơn!
Mình có dữ liệu ở cột B của sheet1 vừa có số vừa có text, giờ mình muốn lọc lấy text ra cột D của sheet2, sau đó tách lấy số ra ờ cột E và text ở cột F, nhờ các bác hướng dẫn dùm. Xin cám ơn!
Mình test chạy rất ok, xin cảm ơn bác, nhưng khi mình bỏ trống 1 ô ( thí dụ như ô B6) thì nó không chạy, mong bác chỉ dạy thêm.Thử code dưới đây
Mã:Option Explicit Sub abcd() Dim sArr Dim Res Dim i, j, k sArr = Sheet1.Range("B3").CurrentRegion ReDim Res(1 To UBound(sArr), 1 To 3) k = 1 For i = 1 To UBound(sArr) If IsNumeric(sArr(i, 1)) = False Then Res(k, 1) = sArr(i, 1) For j = Len(Res(k, 1)) To 1 Step -1 If IsNumeric(Left(Res(k, 1), j)) Then Res(k, 2) = Left(Res(k, 1), j) Res(k, 3) = Right(Res(k, 1), Len(Res(k, 1)) - j) k = k + 1 Exit For End If Next j End If Next i Sheet2.Range("H3").Resize(k, 3) = Res End Sub
Bạn tìm dòng trên, thay = dòng dưới rồi chạy lại xem saoMình test chạy rất ok, xin cảm ơn bác, nhưng khi mình bỏ trống 1 ô ( thí dụ như ô B6) thì nó không chạy, mong bác chỉ dạy thêm.
'sArr = Sheet1.Range("B3").CurrentRegion
sArr = Sheet1.Range("B3", Sheet1.Range("B" & Rows.Count).End(xlUp))
Cho tín đồ mới tìm hiểu M Code:lấy số ra ờ cột E và text ở cột F,