Bạn thử:các bạn giúp mình hàm này với, mình có 1 mã kh vừa có ký tự và số, bây giờ mình muốn tạo một mã mới chỉ lấy các ký tự đầu là chuỗi text không lấy sô, giúp mình với cảm ơn
View attachment 194103
Sub abc()
Dim c As Range
Application.ScreenUpdating = False
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\d"
For Each c In Range("a2", Range("A" & Rows.Count).End(3))
c.Offset(, 1).Value = .Replace(c.Value, "")
Next
End With
Application.ScreenUpdating = True
End Sub
Bạn ơi có 1 số mã nó bị lỗi vẫn lấy luôn số nè bạn, bạn xem lại giúp mình nhé, cảm ơnNếu chỉ đơn giản như bạn ví dụ thì
B2=LEFT(A2;FIND("0";A2)-1)
bạn nên cho dữ liệu đầy đủ thì mới có giải pháp đầy đủ
bạn ơi cái này sử dụng sao vậy bạn, mình không biết sử dụng, bạn chỉ giúp mình nhé, cảm ơnBạn thử:
PHP:Sub abc() Dim c As Range Application.ScreenUpdating = False With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d" For Each c In Range("a2", Range("A" & Rows.Count).End(3)) c.Offset(, 1).Value = .Replace(c.Value, "") Next End With Application.ScreenUpdating = True End Sub
Nếu nhóm số bắt đầu là 0 thì có thể dùng find and replacecác bạn giúp mình hàm này với, mình có 1 mã kh vừa có ký tự và số, bây giờ mình muốn tạo một mã mới chỉ lấy các ký tự đầu là chuỗi text không lấy sô, giúp mình với cảm ơn
View attachment 194103
Bạn tham khảo Bài 2 của Topic này:Bạn ơi có 1 số mã nó bị lỗi vẫn lấy luôn số nè bạn, bạn xem lại giúp mình nhé, cảm ơn
Chỉnh lại thành cái này dễ dùng hơn anh ạBạn thử:
PHP:Sub abc() Dim c As Range Application.ScreenUpdating = False With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d" For Each c In Range("a2", Range("A" & Rows.Count).End(3)) c.Offset(, 1).Value = .Replace(c.Value, "") Next End With Application.ScreenUpdating = True End Sub
Function abc(ByVal c As Range)
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\d"
abc = .Replace(c.Value, "")
End With
End Function
Thử dùng hàm này chỉ đúng như ví dụ bài 1:các bạn giúp mình hàm này với, mình có 1 mã kh vừa có ký tự và số, bây giờ mình muốn tạo một mã mới chỉ lấy các ký tự đầu là chuỗi text không lấy sô, giúp mình với cảm ơn
Thêm công thức tham khảo, công thức mảng nhé.{Ctrl+Shift+Enter}các bạn giúp mình hàm này với, mình có 1 mã kh vừa có ký tự và số, bây giờ mình muốn tạo một mã mới chỉ lấy các ký tự đầu là chuỗi text không lấy sô, giúp mình với cảm ơn
View attachment 194103
=LEFT(A2,MIN(FIND(ROW($1:$10)-1,A2&1234567890))-1)
Nếu sửa thì nên 1 đường kiếm diệt hết. Global cũng không cần vì người ta chỉ có 1 cụm chữ số liên tiếp. Nếu có nhiều cụm thì dĩ nhiên thêm Global.Chỉnh lại thành cái này dễ dùng hơn anh ạ
Diff:Function abc(ByVal c As Range) With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\d" abc = .Replace(c.Value, "") End With End Function
Function abc(ByVal c As Range)
With CreateObject("VBScript.RegExp")
' .Global = True
.Pattern = "\d+"
abc = .Replace(c(1).Value, "")
End With
End Function
"Tìm một con đường, tìm một lối đi....- Đức Huy"Thêm 1 con đường khác:
=LEFT(A2,MATCH(1,(MID(A2,ROW($1:$50),1)+1)^0,)-1)
Khiếp. Anh nhà mình dạo này một bài trả lời lại kèm theo 1 câu hát"Tìm một con đường, tìm một lối đi....- Đức Huy"
Góp vui văn nghệ với anh em:
Ctrl+Shift+Enter.Mã:=LEFT(A2,MATCH(1,(MID(A2,ROW($1:$50),1)+1)^0,)-1)
hihi ^o^
Thấy các anh em trên đưa giải pháp mỗi người mỗi vẽ, đều có cái hay riêng trong mỗi cách hỗ trợ cho bạn mình.Khiếp. Anh nhà mình dạo này một bài trả lời lại kèm theo 1 câu hát![]()
Chơi thêm 1 hàm nữa, tuy dài nhưng dễ hiểu.Thấy các anh em trên đưa giải pháp mỗi người mỗi vẽ, đều có cái hay riêng trong mỗi cách hỗ trợ cho bạn mình.
Tâm trạng hưng phấn vui vẻ, muốn góp phần, hòa nhịp với anh em cùng vui!
hihi ^o^