TÁCH PLANO (2 người xem)

Liên hệ QC

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

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
Chào mọi người trên diễn đàn!

Trong quá trình làm việc có vấn đề phát sinh nhờ mọi người giúp

Trong file đính kèm em có ghi kết quả.

Em cảm ơn mọi người nhiều!​
 

File đính kèm

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?

Tại vì em làm trên file trên cty khi áp dụng vào thì em thấy có trường hợp xảy ra, nên em không lường trước. Nên em gom ết một lúc hỏi một lần luôn, Anh nói vậy để khi nào em đăng bài lần sau em sẽ nói rõ vấn đề cần là gì? có ghi kết quả tham khảo! Anh đã nói em có gì thì hỏi một lần thôi, khi làm xong thì còn ,mà. Đây là kinh nghiệm anh dạy cho em!

Mong Anh thông cảm cho em!
 
Upvote 0
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 619:622 kết quả chắc chắn vậy không bạn?
 
Upvote 0
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
upload_2017-4-30_16-31-11.png
 
Lần chỉnh sửa cuối:
Upvote 0
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
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.
Tôi code thử cũng thấy sai khác ở mấy dòng đó.
Dữ liệu quá dị.:cc_confused:
Nghỉ lễ vui vẻ:drunk:
 
Upvote 0

File đính kèm

Upvote 0
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?

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.
 

File đính kèm

Upvote 0
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.
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.
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
Đề tài này chắc tui dừng tại đây, hết xí quách òi.
Hẹn gặp lại đề tài khác!
Chúc vui vẻ!
 
Upvote 0
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.
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
Đề tài này chắc tui dừng tại đây, hết xí quách òi.
Hẹn gặp lại đề tài khác!
Chúc vui vẻ!
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?
 
Lần chỉnh sửa cuối:
Upvote 0
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 :D
 
Upvote 0
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 :D
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!
 
Upvote 0
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
Em có đưa ví dụ cho Anh hiểu!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom