huonglien1901
GPE là ngôi nhà thứ 2 của tôi!!!
- Tham gia
- 17/4/16
- Bài viết
- 2,701
- Được thích
- 2,434
- Giới tính
- Nam
- Nghề nghiệp
- Nhân viên kỹ thuật in ấn
Em đi hỏi mà tới bài #19 em mới bảo "em đưa hết các trường hợp" có tin nổi không?
Dòng 619:622 kết quả chắc chắn vậy không bạn?Dạ em xin đưa hết tất cả trường hợp nếu có trường hợp khác xảy ra thì em tự làm, em có đưa ra kết quả trong file, em có tô màu đánh dấu những trường hợp.
Em cảm ơn anh đã hỗ trợ giúp em!
Dòng 156 & 277 cũng vậy, kết quả chắc vậy koDòng 619:622 kết quả chắc chắn vậy không bạn?
Mấy dòng này ăn khớp với nhóm kí tự thứ 2 từ trái sang của dữ liệu, không thấy giống những dòng còn lại.Em làm được ra đúng hết trừ mỗi phần dòng 277 và phần trong hình không biết lấy đâu ra
View attachment 175083
PS: Bạn sửa bài viết bằng cách nào vậy?Em làm được ra đúng hết trừ mỗi phần dòng 277 và phần trong hình không biết lấy đâu ra
View attachment 175083
Em làm được ra đúng hết trừ mỗi phần dòng 277 và phần trong hình không biết lấy đâu ra
View attachment 175083
Hỏi lại cái này nữa cho chắc ròi sửa code 1 thể:Dạ xl anh trong file em đưa ra kết quả sai. dòng 619:622: còn dòng 156 và 277 thì đúng anh!
Hỏi lại cái này nữa cho chắc ròi sửa code 1 thể:
Nếu dòng 156 & 277 đúng thì dòng 123 là đúng hay sai?
Bạn xem chơi đoạn code.dạ dòng 156 và dòng 277, 123 em có chỉnh sũa kết quả đúng tại kết quả tham khaỏ. Dòng 582 em đưa kết quả sai, Facing phải là số 3 không phải là số 1
em xl anh rất nhiều tại em hôm qua dò chưa kĩ nên đưa dữ liệu không đúng. Nên giờ em kiểm tra lại thì có dũ liệu sai. Mong Anh thông cảm cho em.
Option Explicit
Sub LANNAYNUATHOINHE()
Dim SArr, Res() As String
Dim Nms, Tmp
Dim i, j
SArr = Sheet1.Range("A2", Sheet1.Range("A2").End(xlDown))
ReDim Res(1 To UBound(SArr), 1 To 4)
For i = 1 To UBound(SArr)
SArr(i, 1) = Replace(SArr(i, 1), "-", "")
ReDim Nms(1 To 200)
Tmp = Split(SArr(i, 1))
For j = UBound(Tmp) - 2 To 1 Step -1
If Len(Tmp(j)) > Len(Tmp(j + 1)) Then
Res(i, 4) = Tmp(j + 1)
Exit For
End If
Next j
If Res(i, 4) = "" Then
For j = UBound(Tmp) - 2 To 1 Step -1
If IsNumeric(Tmp(j)) = False Then
If Len(Tmp(j + 1)) < 3 Then
Res(i, 4) = Tmp(j + 1)
Exit For
End If
Exit For
End If
Next j
End If
Res(i, 1) = Tmp(0)
For j = 1 To UBound(Tmp) - 1
If IsNumeric(Tmp(j)) = True Then Nms(Len(CStr(Val(Tmp(j))))) = j
Next j
Nms = Split(WorksheetFunction.Trim(Join(Nms)))
Res(i, 3) = Tmp(CLng(Nms(UBound(Nms))))
Res(i, 2) = Tmp(CLng(Nms(UBound(Nms) - 1)))
Next i
Sheet1.Range("B2", Sheet1.Range("E" & UBound(SArr) + 1)).ClearContents
Sheet1.Range("B2", Sheet1.Range("E" & UBound(SArr) + 1)) = Res
End Sub
Dạ em cảm ơn anh chúc anh có nhiều sức khỏe để hoàn thành tốt cv đề tài em quá khó phải k anh?Bạn xem chơi đoạn code.
Xem chơi thôi nhé, vì các dòng 156, 277, 123, 582 chưa giải quyết được.
Đề tài này chắc tui dừng tại đây, hết xí quách òi.Mã:Option Explicit Sub LANNAYNUATHOINHE() Dim SArr, Res() As String Dim Nms, Tmp Dim i, j SArr = Sheet1.Range("A2", Sheet1.Range("A2").End(xlDown)) ReDim Res(1 To UBound(SArr), 1 To 4) For i = 1 To UBound(SArr) SArr(i, 1) = Replace(SArr(i, 1), "-", "") ReDim Nms(1 To 200) Tmp = Split(SArr(i, 1)) For j = UBound(Tmp) - 2 To 1 Step -1 If Len(Tmp(j)) > Len(Tmp(j + 1)) Then Res(i, 4) = Tmp(j + 1) Exit For End If Next j If Res(i, 4) = "" Then For j = UBound(Tmp) - 2 To 1 Step -1 If IsNumeric(Tmp(j)) = False Then If Len(Tmp(j + 1)) < 3 Then Res(i, 4) = Tmp(j + 1) Exit For End If Exit For End If Next j End If Res(i, 1) = Tmp(0) For j = 1 To UBound(Tmp) - 1 If IsNumeric(Tmp(j)) = True Then Nms(Len(CStr(Val(Tmp(j))))) = j Next j Nms = Split(WorksheetFunction.Trim(Join(Nms))) Res(i, 3) = Tmp(CLng(Nms(UBound(Nms)))) Res(i, 2) = Tmp(CLng(Nms(UBound(Nms) - 1))) Next i Sheet1.Range("B2", Sheet1.Range("E" & UBound(SArr) + 1)).ClearContents Sheet1.Range("B2", Sheet1.Range("E" & UBound(SArr) + 1)) = Res End Sub
Hẹn gặp lại đề tài khác!
Chúc vui vẻ!
Anh có thể hỗ trợ giúp em với,Em làm được ra đúng hết trừ mỗi phần dòng 277 và phần trong hình không biết lấy đâu ra
View attachment 175083
Có lẽ bạn nên giải thích rõ ý nghĩa các thông số của 1 vài dòng dữ liệu thì bài sẽ dễ giải quyết hơnDạ em cảm ơn anh chúc anh có nhiều sức khỏe để hoàn thành tốt cv đề tài em quá khó phải k anh?
Anh có thể nêu rõ cách làm như thế nào được không anh? Em cảm ơn anh nhiều!Tôi góp ý thôi: Với bảng dữ liệu kiểu CSDL này thì bạn nên quản lý bằng Table, dữ liệu nên kiểm soát bằng Data Validation. Còn code thì không biết![]()
Em có đưa ví dụ cho Anh hiểu!Có lẽ bạn nên giải thích rõ ý nghĩa các thông số của 1 vài dòng dữ liệu thì bài sẽ dễ giải quyết hơn
Anh ơi máy iPhone làm sao mở có định dạng VBA anh?Đoán: Bạn đã có sẵn một cái bảng dữ liệu GC và Till code?
....