


Dùng VBA là giải quyết được ngay!Tôi có chuỗi kí tự là AABB_Q1234-BCD tôi muốn lấy được kí tự là AABB-BCD rất mong được giúp đỡ
Xin cảm ơn các anh chị
Dùng VBA là giải quyết được ngay!
Bạn dùng công thức sau: =LEFT(A1,4)&RIGHT(A1,4), với A1 là ô chứa chuỗi ban đầu.Tôi có chuỗi kí tự là AABB_Q1234-BCD tôi muốn lấy được kí tự là AABB-BCD rất mong được giúp đỡ
Xin cảm ơn các anh chị
Xin sửa #1 là AABB..._Q1234...-BCD... TỨC LÀ BỎ ĐI CÁC KÍ TỰ GIŨA HAI GẠCH NỐI"_""-" CÒN LẠI LẤY HẾTBạn dùng công thức sau: =LEFT(A1,4)&RIGHT(A1,4), với A1 là ô chứa chuỗi ban đầu.



Nếu bài của anh NghiaPhuc chưa giải quyết hết được các trường hợp khác thì bạn đưa File lên tôi giúp!Rất mong các bạn giúp: công thức, VBA đều tốt cả
Vậy thì có lẽ là thế này:Xin sửa #1 là AABB..._Q1234...-BCD... TỨC LÀ BỎ ĐI CÁC KÍ TỰ GIŨA HAI GẠCH NỐI"_""-" CÒN LẠI LẤY HẾT
=REPLACE(A1,FIND("_",A1),FIND("-",A1)-FIND("_",A1),"")
Nếu bài của anh NghiaPhuc chưa giải quyết hết được các trường hợp khác thì bạn đưa File lên tôi giúp!
Vậy thì có lẽ là thế này:
Mã:=REPLACE(A1,FIND("_",A1),FIND("-",A1)-FIND("_",A1),"")
Trong dữ liệu của bạn, có ô có chứa ký tự "_", có ô không có, còn ký tự "-" thì ô nào cũng có. Như vậy, bạn có thể sử dụng công thức sau cho ô B4:Nhờ các bạn giúp đỡ, rất cảm ơn
=IF(ISNUMBER(FIND("_",A4)),REPLACE(A4,FIND("_",A4),FIND("-",A4)-FIND("_",A4),""),A4)
Nếu bài của anh NghiaPhuc chưa giải quyết hết được các trường hợp khác thì bạn đưa File lên tôi giúp!



VBA của bạn đây...............................Bạn giúp mình VBA nhé, cảm ơn
Bạn giúp mình VBA nhé, cảm ơn
Public Function GPE(Str As String) As String
Dim Tem1, Tem2
If InStr(Str, "_") Then
Tem1 = Split(Str, "_")
Tem2 = Split(Tem1(UBound(Tem1)), "-")
GPE = Tem1(0) & "-" & Tem2(UBound(Tem2))
Else
GPE = Str
End If
End Function
Public Function GPE(Str As String) As String
Dim Tem
Str = Replace(Str, "_", "-")
Tem = Split(Str, "-")
GPE = Tem(0) & "-" & Tem(UBound(Tem))
End Function



Public Static Function Tach(rng As Range)
Tach = Replace(rng, "_Q123", "")
End Function
Nhờ các bạn giúp đỡ, rất cảm ơn
Sát thủ thật.Cái đồ quỷ này mà VBA chi cho mất công. Tôi làm như sau:
- Quét chọn vùng dữ liệu
- Bấm Ctrl + H
- Khung Find what nhập _*-
- Khung Replace with nhập -
- Bấm Replace All
Xong!
------------
Nếu VBA thì cũng mỗi câu lệnh này là xong: Selection.Replace "_*-", "-", xlPart (gõ ngay trong cửa sổ Immediate luôn, khỏi cần phải chèn module gì ráo)
cao thủ có khác. bái phục thầy.Cái đồ quỷ này mà VBA chi cho mất công. Tôi làm như sau:
- Quét chọn vùng dữ liệu
- Bấm Ctrl + H
- Khung Find what nhập _*-
- Khung Replace with nhập -
- Bấm Replace All
Xong!
------------
Nếu VBA thì cũng mỗi câu lệnh này là xong: Selection.Replace "_*-", "-", xlPart (gõ ngay trong cửa sổ Immediate luôn, khỏi cần phải chèn module gì ráo)



Bạn nên đọc từ đầu rồi hãy viết bài. Bạn biết mục đích của người ta là gì chưa mà bạn viết như vậy? Chưa cần dùng tới cách của anh NghiaPhuc và cách của thầy ndu chì cần lấy cách của tôi ra để so sánh thôi cách của bạn cũng ko so được rồi, bởi vì kết quả nó có đúng đâu mà đòi so sánh tốc độ????Góp ý thêm:
Theo mình cái này dung công cụ Data/data tools/ Text to column là tuyệt vời và nhanh nhất không cần con dao mổ trâu " VBA" và mấy cái công thức phức tạp trên. trường hợp mà có ô có ký tự "_" hoặc "-" và ô không có dung công thức chắc điên đầu luôn. Hy vong co ich
Tks,




Nếu chỉ bỏ 2 ký tự này thì bạn sử dụng hàm SUBSTITUTE là được.Mình có yêu cầu khác bạn Bana 1 chút là chỉ bỏ "-" và "_", còn lại lấy hết.
mình làm hoài ko ra.
Minh các bạn chỉ giáo
Mình có yêu cầu khác bạn Bana 1 chút là chỉ bỏ "-" và "_", còn lại lấy hết.
mình làm hoài ko ra.
Mong các bạn chỉ giáo