nqdn2010
Optimal Сasual Dating - Actual Girls
- Tham gia
- 22/2/12
- Bài viết
- 267
- Được thích
- 15
- Giới tính
- Nam
- Nghề nghiệp
- Health
- Nhờ các Thầy viết code hộ tôi giải quyết vấn đề kèm theo trong tập tin !!!
- Tôi Search cả đêm rất nhiều đề tài tách chuỗi, nhưng không đáp ứng được yêu cầu!![]()
Function TChu(chuoi As String) As Variant
Dim tmp, KQ(), i As Long, j As Byte, k As Long
If chuoi = vbNullString Then Exit Function
chuoi = Replace(chuoi, " ", "")
If Left(chuoi, 1) = ";" Then chuoi = Right(chuoi, Len(chuoi) - 1)
If Right(chuoi, 1) = ";" Then chuoi = Left(chuoi, Len(chuoi) - 1)
tmp = Split(chuoi, ";")
ReDim KQ(1 To Application.RoundUp((UBound(tmp) + 1) / 10, 0), 1 To 10)
On Error Resume Next
For i = 1 To UBound(KQ, 1)
For j = 1 To UBound(KQ, 2)
KQ(i, j) = tmp(k)
k = k + 1
Next j
Next i
TChu = KQ
End Function
'--------------------
Sub nqdn()
Dim T As String
T = Sheet1.Range("A1").Value
Sheet1.Range("B5").Resize(UBound(TChu(T), 1), UBound(TChu(T), 2)).Value = TChu(T)
End Sub
Góp vui thêm một code:Như mong đợi! Cám ơn bạn rất nhiều!
Chúc ngày cuối tuần hạnh phúc!
Function Rut(s As String, so As Long) As String
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "(;?)(\d+)(;?)"
On Error Resume Next
Rut = .Execute(s)(so - 1).SubMatches(1)
On Error GoTo 0
End With
End Function
- Tôi Search cả đêm rất nhiều đề tài tách chuỗi, nhưng không đáp ứng được yêu cầu!![]()
=TRIM(MID(SUBSTITUTE($A$1,";",REPT(" ",50)),(B$4-1)*50+(ROW(1:1)-1)*500+SUMPRODUCT(LEN($B$4:$K4)*1)-$K$4,50))
=IF($A6<=ROUNDUP((LEN($A$1)-LEN(SUBSTITUTE($A$1,";",""))+1)/10,),TRIM(MID(SUBSTITUTE($A$1,";",REPT(" ",50)),MAX((A$4*ROUNDUP((LEN($A$1)-LEN(SUBSTITUTE($A$1,";",""))+1)/10,)+$A5)*50+SUMPRODUCT(LEN(OFFSET($A$5,,,ROUNDUP((LEN($A$1)-LEN(SUBSTITUTE($A$1,";",""))+1)/10,),B$4))*1)-SUMPRODUCT(LEN(OFFSET($A$5,,,ROUNDUP((LEN($A$1)-LEN(SUBSTITUTE($A$1,";",""))+1)/10,),))*1)+SUMPRODUCT(LEN(OFFSET(B$4,,,$A6,1))*1)-LEN(B$4),1),50)),"")
B5=LOOKUP(10^5,--MID($A$1,FIND("X",SUBSTITUTE(";"&$A$1,";","X",B$4+$A5*10)),ROW($1:$5)))
B5=SMALL(IF(ISNUMBER(FIND(";"&ROW($1:$2000)&";",";"&$A$1&";")),ROW($1:$2000)),B$4+$A5*10)
Mã:'-------------------- Sub nqdn() Dim T As String T = Sheet1.Range("A1").Value Sheet1.Range("B5").Resize(UBound([COLOR=#ff0000]TChu(T)[/COLOR], 1), UBound([COLOR=#ff0000]TChu(T)[/COLOR], 2)).Value = [COLOR=#ff0000]TChu(T)[/COLOR] End Sub
Cảm ơn anh.Code này gọi hàm TChu 3 lần, với cùng một tham số T
Sub nqdn()
Dim T As String, tmp()
T = Sheet1.Range("A1").Value
tmp=TChu(T)
Sheet1.Range("B5").Resize(UBound(tmp, 1), UBound(tmp, 2)).Value = tmp
End Sub
Hàm TChu của bạn có một đoạn trả về trống trơn, nếu khong có dữ liệu.
Các code gọi nó cần truy xét trường hợp này trước khi chép dữ liệu.
Ví dụ:
Dim tm as variant
tmp = TChu(T)
If TypeName(tm) = "Null" Then
Hàm TChu của bạn có một đoạn trả về trống trơn, nếu khong có dữ liệu.
Các code gọi nó cần truy xét trường hợp này trước khi chép dữ liệu.
Ví dụ:
Dim tm as variant
tmp = TChu(T)
If TypeName(tm) = "Null" Then
anh ơi cho em hỏi , với dạng bài này ta nên dùng hàm split hay nên réc géc để cho thấy sự mạnh mẽ ?![]()
(1) Em dựa vào ngữ điệu trong câu văn (nhận định cá nhân);Chú: hình như tôi chưa hề nhìn nhận mình là đờn ông hay đờn bà, sao gọi toi là anh nhỉ?
(1) Em dựa vào ngữ điệu trong câu văn (nhận định cá nhân);
(2) Vì chưa biết chính xác nên gọi theo (1). Nếu có phản hồi không đúng thì em sửa, chưa có phản hồi thì gọi tiếp theo (1).