Tách chuỗi ký tự (số thư) và tiêu đề thư

Liên hệ QC

KhoiSMC

Thành viên thường trực
Tham gia
19/6/09
Bài viết
246
Được thích
32
Xin chào các bạn,

Một mong muốn xin hỏi ý kiến các bạn, như sau:
Untitled.jpg
Xin các bạn giúp đỡ.

Khoi
 

File đính kèm

  • text.xlsx
    9.3 KB · Đọc: 28
Xin chào các bạn,

Một mong muốn xin hỏi ý kiến các bạn, như sau:
View attachment 115128
Xin các bạn giúp đỡ.

Khoi

Nếu là mình,mình sẽ xử lý bài này theo hàm tự tạo ( bạn có thể tham khảo hàm tự tạo sau:)
Mã:
Public Function GPE(source) As String
    Dim str$
        str = CStr(source)
        With CreateObject("vbscript.regexp")
             .IgnoreCase = True
            .Pattern = "\w+\s*(?:-\s*\w+)+"
            If .test(str) then  GPE = .Execute(str)(0)
        End With
End Function

==> Công thức cho ô B2:
PHP:
=GPE(A2)
 
Lần chỉnh sửa cuối:
Nếu là mình,mình sẽ xử lý bài này theo hàm tự tạo ( bạn có thể tham khảo hàm tự tạo sau:)
Mã:
Public Function GPE(source) As String
    Dim str$
        str = CStr(source)
        With CreateObject("vbscript.regexp")
            .Global = True: .IgnoreCase = True
            .Pattern = "\w+\s*(?:-\s*\w+)+"
            If .test(str) then  GPE = .Execute(str)(0)
        End With
End Function

==> Công thức cho ô B2:
PHP:
=GPE(A2)

Cám ơn bạn nhiều nhé,
Mình sẽ áp dụng vào file đang làm việc hiện nay, VBA sử lý được hầu hết các yêu cầu công viêc,
Cần phải học VBA nhiều nữa.

Cám ơn bạn,
Khoi
 
Nếu là mình,mình sẽ xử lý bài này theo hàm tự tạo ( bạn có thể tham khảo hàm tự tạo sau:)
Mã:
Public Function GPE(source) As String
    Dim str$
        str = CStr(source)
        With CreateObject("vbscript.regexp")
[COLOR=#008000][B]             .IgnoreCase = True
            .Pattern = "\w+\s*(?:-\s*\w+)+"[/B][/COLOR]
            If .test(str) then  GPE = .Execute(str)(0)
        End With
End Function

==> Công thức cho ô B2:
PHP:
=GPE(A2)
Đoạn màu xanh chỉ cần vầy là đù
Mã:
.Pattern = "\S+"
 
Đoạn màu xanh chỉ cần vầy là đù
Mã:
.Pattern = "\S+"
"\S+" chỉ đúng với dữ liệu "chuẩn" như file của chủ topic, trong quá trình nhập cơ sở dữ liệu có thể vô tình phát sinh những khoảng trắng, dấu cách --> mình nghĩ nên xét cả trường hợp như vậy !
còn nếu dữ liệu luôn luôn "đẹp" như file đính kèm, thì công thức của a Hai Lúa Miền Tây là đơn giản và hiêu quả nhất rồi!
 
"\S+" chỉ đúng với dữ liệu "chuẩn" như file của chủ topic, trong quá trình nhập cơ sở dữ liệu có thể vô tình phát sinh những khoảng trắng, dấu cách --> mình nghĩ nên xét cả trường hợp như vậy !
còn nếu dữ liệu luôn luôn "đẹp" như file đính kèm, thì công thức của a Hai Lúa Miền Tây là đơn giản và hiêu quả nhất rồi!
Nếu khả năng thì cũng còn nhiều bạn ah. Bạn thử thêm 2 dấu cách vào 2 khoảng ký tự chứa dấu - xem kết quả ví dụ như
CS2-RPMU-C P2-C P3-0583 Safety of construction work on site at CP2, CP3, Yen Vien -Lao Cai Railway upgrading project.pdf
Nhưng cách của bạn cũng là một giải pháp hay!
 
ui sao các bạn giỏi thật đấy,
để mình lưu hết đoạn code này để xử lý vấn đề,

Thanks các bạn nhiều.
Khoi
 
Web KT
Back
Top Bottom