- Tham gia
- 13/6/06
- Bài viết
- 7,201
- Được thích
- 24,670
anhtuan1066 đã viết:Ai cha... dùng cái này đễ tách tên coi bộ ngon à nha.. Lẹ hơn nhiều so với dùng vòng lập...
Cảm ơn thầy!
ANH TUẤN
Mr Okebab đã viết:Còn nhiều việc phải làm lắm bác ạ.
- Vẫn phải có một dấu hiệu nhận biết, đó là dấu trừ (-)
- Hãy thử với 2 dấu cách (các phần tử có số dấu cách không như nhau) sẽ bị lỗi ngay, mà tên thì có tên ngắn, tên dài.
- Các hàm này cũng phải quét từng ký tự thôi
- . . . . . . .
Join(sourcearray[, delimiter])
The Join function syntax has these named arguments:
Part Description
sourcearray Required. One-dimensional array containing substrings to be joined.
delimiter Optional. String character used to separate the substrings in the returned string. If omitted, the space character (" ") is used. If delimiter is a zero-length string (""), all items in the list are concatenated with no delimiters.
Ghep_cot = Join(Dulieu(), " ")
PhanTuHuong đã viết:Đây là đặc thù của hàm Mr Okebab ạ. Em đọc Help xem:
delimiter trong trường hợp này là " ", đây là dấu hiệu bắt buộc để phân, tách dữ liệu, nếu delimiter trùng với dữ liệu thì chắc chắn sẽ sai. Vì vậy ta phải chọn delimiter thích hợp.
Sub GhepVao()
For r = 3 To 6
ghep = ""
For i = 1 To 4
ghep = ghep & Cells(r, i) & "-"
Next
Cells(r + 6, 2) = Left(ghep, Len(ghep) - 1)
Next
End Sub
Sub TachRa()
For r = 9 To 12
chuoi = Cells(r, 2) & "-"
For c = 2 To 5
vt = InStr(1, chuoi, "-")
Cells(r + 5, c) = Mid(chuoi, 1, vt - 1)
chuoi = Mid(chuoi, vt + 1)
Next
Next
End Sub
.Đây là thủ tục mô phỏng hàm Join và Split dùng vòng lặp để tách, ghép theo dữ liệu đã có trong Chia gia tri.xls.
Mỗi cách làm có ưu điểm riêng.
- Join và Split dùng cho số lần tách ghép ít, nếu tách ghép nhiều thì viết rất dài.
- For Next dùng cho số lần tách ghép nhiều, vì tách ghép bao nhiêu lần cách viết không thay đổi, chỉ thay số đầu, số cuối vào For Next
Mã:Sub GhepVao() For r = 3 To 6 ghep = "" For i = 1 To 4 ghep = ghep & Cells(r, i) & "-" Next Cells(r + 6, 2) = Left(ghep, Len(ghep) - 1) Next End Sub
Mã:Sub TachRa() For r = 9 To 12 chuoi = Cells(r, 2) & "-" For c = 2 To 5 vt = InStr(1, chuoi, "-") Cells(r + 5, c) = Mid(chuoi, 1, vt - 1) chuoi = Mid(chuoi, vt + 1) Next Next End Sub