Nhờ giúp đỡ code tách chuỗi text (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

thikb219

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
27/8/13
Bài viết
19
Được thích
1
Mình có một chuỗi ký tự như sau: DK1(200x500); D1 - 200x350 ; B01-300*1000...
có cách nào để chỉ lấy số 200 và 500 tự động điền vào 2 cột của excel không ? rất mong mọi người giúp đỡ
 
Không ai giúp mình với à híc!$@!!!$@!!
 
Upvote 0
Mình giả định ô A1 bạn gõ: "DK1(200x500); D1 - 200x350 ; B01-300*1000"
và bạn muốn lấy số 200 và 500 in đậm phải hôn, dùng hàm MID nha bạn nha:

Lấy số 200:
PHP:
=--MID(A1,5,3)

Lấy số 500:
PHP:
=--MID(A1,9,3)


Hehe, nhưng mà mình nghĩ bạn không yêu cầu đơn giản vậy phải không? Nên nếu bạn có file dữ liệu của bạn, mọi người sẽ hiểu rõ câu hỏi hơn rùi mới có cách nha.
 
Upvote 0
Nếu hai con số cần lấy từ chuỗi nhất thiết fải nằm trong ngoặc đơn thì ta cần tìm 2 cái ngoặc đơn í trước!

\\\\\\\\\\\\\\\\\\\\/////////////////////\\\\\\\\\\\\\\\\\\\\\///////////////,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 
Upvote 0
Mình có một chuỗi ký tự như sau: DK1(200x500); D1 - 200x350 ; B01-300*1000...
có cách nào để chỉ lấy số 200 và 500 tự động điền vào 2 cột của excel không ? rất mong mọi người giúp đỡ

Thử code này xem sao :
Mã:
Function Tach(text, i&) As String
    Dim str$, Bref$
        Bref = "$" & i
        str = CStr(text)
        With CreateObject("vbscript.regexp")
            .Global = True
            .Ignorecase = true
            .Pattern = ".*(?:\(|-)\s*(\d+)\s*(?:x|\*)\s*(\d+).*"
            If .test(str) Then Tach = .Replace(str, Bref)
        End With
End Functionn

Áp dụng :
tại ô B1
PHP:
=Tach(A1,1)
ô B2 :
PHP:
=Tach(A1,2)
Trong đó A1 : là ô chứa chuỗi text ban đầu !!
 
Lần chỉnh sửa cuối:
Upvote 0
Thank hungpecc1 và mọi người rất nhiều mình đã làm được nhưng với cái loại I-1300x325x10x14; I-[400-1500]x350x10x14 thì cái hàm "tach" không dùng được, nếu được mong pác hungpeec1 và mọi người giúp đỡ thêm nha.thank mọi người trước@$@!^%
 
Upvote 0
Thank hungpecc1 và mọi người rất nhiều mình đã làm được nhưng với cái loại I-1300x325x10x14; I-[400-1500]x350x10x14 thì cái hàm "tach" không dùng được, nếu được mong pác hungpeec1 và mọi người giúp đỡ thêm nha.thank mọi người trước@$@!^%

Cuối cùng là bạn muốn tách và lấy cái gì ra ?... có phải là lấy dữ liệu trong dấu () hoặc dấu [] không ??
sửa code lại như vậy :
Mã:
Function Tach(text, i&) As String
    Dim str$, Bref$
        Bref = "$" & i
        str = CStr(text)
        With CreateObject("vbscript.regexp")
            .Global = True
            .Ignorecase = True
            .Pattern = ".*(?:\(|[COLOR=#ff0000]\[[/COLOR])\s*(\d+)\s*(?:x|\*)\s*(\d+).*"
            If .test(str) Then Tach = .Replace(str, Bref)
        End With
End Function
Nếu muốn có kết quả như mong muốn --> Up file dữ liệu thật lên
 
Lần chỉnh sửa cuối:
Upvote 0
Gửi mọi người file đính kèm rất mong nhận được sự giúp đỡ -=09=-=09=
 
Upvote 0
Có ai giúp mình với nha thank mọi người nhiều+-+-+-++-+-+-+
 
Upvote 0
Mình xài hàm mảng tự tạo với số liệu hiện có của bạn

Một số trường hợp sẽ như sau:

Chuỗi cần tách số|Đ/S
KL7(1) 300x650
KL7(1) 300x650 |S

}}}}} --=0 ;;;;;;;;;;; ;;;;;;;;;;; --=0 }}}}}
 

File đính kèm

Upvote 0
Có ai giúp mình với nha thank mọi người nhiều+-+-+-++-+-+-+

thử code sau :
Mã:
Function GPE(txt, i&)    
Dim str$, match As Object
        str = CStr(txt)
        With CreateObject("vbscript.regexp")
            .Global = True
            .Pattern = ".*?(\d+).*?"
            Set match = .Execute(str)
            If .test(str) Then
                If i <= match.Count Then
                    GPE = match(i - 1).SubMatches(0)
                Else
                    GPE = vbNullString
                End If
            End If
        End With
End Function
==> Công thức cho D4:
PHP:
=GPE($C4,COLUMNS($D$4:D4))
--> Kéo công thức sang trái và xuống dưới
--> tự bố trí, sửa code để sắp xếp dữ liệu !
 
Upvote 0
Thank mọi người nhiều, nhân tiện mọi người cho mình hỏi có cách nào để xóa nhanh các shape trong excel không và khi xóa thì các hàng bên dưới của ô có shape vừa xóa không bị nhày hình.rất mong nhận được sự giúp đỡ
 
Upvote 0
Thank sa-dq rất nhiều cái code của sa-dq thì mình ok nhưng cho mình hỏi sao mình copy cái công thức ra cột khác thì nó không dùng được mong chỉ giáo nha
 
Upvote 0

Bài viết mới nhất

Back
Top Bottom