Mã nguồn PHP:
Option ExplicitFunction DungSai(Chuoi As Range, maxA As Byte, maxO As Byte, nX As Boolean) As Boolean Dim M, N, I, J As Byte Dim Trung As Boolean: Dim beBe As String Trung = True beBe = WorksheetFunction.Trim(Chuoi.Value) If nX = False And Len(beBe) > maxO Then Trung = False End If If nX = True And Len(beBe) < (maxA - maxO) Then Trung = False End If For I = 1 To Len(beBe) For J = I + 1 To Len(beBe) If Mid(beBe, I, 1) = Mid(beBe, J, 1) Then Trung = False End If Next J If Mid(beBe, I, 1) > maxA Then Trung = False End If Next I DungSai = TrungEnd Function
1.0 Bạn viết cho mọi người khác nhìn nhận vấn đề, nên cần rất tường minh mới fải
Viết như bạn mình có thể qui kết là bạn thiếu ton trọng những người có nhã í giúp mình.
1.1 Lí ra bạn cũng nên nêu các tham biến bạn cung cấp là gì, ở khoảng bao nhiêu; Hàm dùng làm gì ngay từ đầu.
2.0 Vấn đề nữa, chỉ mong bạn xem xét, vì chưa khẳng định được đúng hay sai:
Hình như sau mỗi dòng lệnh
Trung =False ta có thể cho thoát ngay khỏi chương trình thì fải (Exit Function)
Nếu là đúng như vậy thì bạn cũng đã tăng tốc đáng kể cho hàm. (Theo mình hiểu thì chỉ cần 1 điều kiện không thỏa sẽ thoát ngay khoải xét tiếp các điều kiện sau)
3.0 Đứng là bạn nên có file giả lập lên; Cái cớ file quá lớn là không chính đáng!
Hay chí ít mô tả công việc thật chi tiết thì đã có đáp án ngay từ đầu.
Chào bạn & chúc ngày mới vui vẻ!