Nhờ anh chị giúp đỡ công thức hàm len (2 người xem)

Liên hệ QC

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

  • Tôi tuân thủ nội quy khi đăng bài

    linh34haiduong

    Thành viên mới
    Tham gia
    18/8/25
    Bài viết
    26
    Được thích
    8
    Em mới học excel mong mọi người giải đáp giúp ạ(e có file đính kèm như trên) muốn kiểm tra sau khi nhập liệu xong mà kí tự trong ô không quá 5 kí tự thì dùng công thức gì ạ để có thể kiểm tra sai khi thiếu hoặc thừa kí tự
     

    File đính kèm

    Em mới học excel mong mọi người giải đáp giúp ạ(e có file đính kèm như trên) muốn kiểm tra sau khi nhập liệu xong mà kí tự trong Ô không quá 5 kí tự thì dùng công thức gì ạ để có thể kiểm tra sai khi thiếu hoặc thừa kí tự
    Cái quan trọng nhất là kiểm tra việc nhập ký tự vào cột nào thì bạn lại không cho biết. Thế này người muốn hỗ trợ thỏa mái đoán mò ý định người hỏi.
     
    Cái quan trọng nhất là kiểm tra việc nhập ký tự vào cột nào thì bạn lại không cho biết. Thế này người muốn hỗ trợ thỏa mái đoán mò ý định người hỏi.
    Tất cả các cột sau cột 'I' đó các anh, ráng giúp dùm em nó đi & sẽ được cảm ơn mà!

    @Chủ bài đăng: Xài thử cái ni, nếu không ưng cái bụng thì 'la' lên nha!
    PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim Rws As Long, Col As Integer
     Dim Rng As Range
     
     Rws = Sheets("00.00").UsedRange.Rows.Count
     Col = Sheets("00.00").UsedRange.Columns.Count
     Set Rng = [J4].Resize(Rws, Col)
     If Not Intersect(Target, Rng) Is Nothing Then
        If Len(Target.Value) <>5 Then MsgBox "Nhâp Sai . . . Rôi!",,"Sao Mình Ngu Quá!"
     End If
    End Sub
     
    Mình cũng không rõ ý tưởng của bạn nên mình làm theo ý tưởng của cá nhân hy vọng đúng:
    1755494892352.png
    *Nếu đúng bạn nghiên cứu tính năng Data Validation*
     
    Chuẩn bị kích hoạt tính năng thầy bói thôi anh.
    dạ cái số này ạ nó không có tên hiển thị nên em không biết ạ(còn e nhập thì nhập tay thôi ạ nó chỉ có 4 số kèm thêm dấu cách là 5 số ạ) 1755495714310.png
    Bài đã được tự động gộp:

    Tất cả các cột sau cột 'I' đó các anh, ráng giúp dùm em nó đi & sẽ được cảm ơn mà!

    @Chủ bài đăng: Xài thử cái ni, nếu không ưng cái bụng thì 'la' lên nha!
    PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim Rws As Long, Col As Integer
     Dim Rng As Range
     
     Rws = Sheets("00.00").UsedRange.Rows.Count
     Col = Sheets("00.00").UsedRange.Columns.Count
     Set Rng = [J4].Resize(Rws, Col)
     If Not Intersect(Target, Rng) Is Nothing Then
        If Len(Target.Value) <>5 Then MsgBox "Nhâp Sai . . . Rôi!",,"Sao Mình Ngu Quá!"
     End If
    End Sub
    Mình cũng không rõ ý tưởng của bạn nên mình làm theo ý tưởng của cá nhân hy vọng đúng:
    View attachment 309326
    *Nếu đúng bạn nghiên cứu tính năng Data Validation*
    nó nhỏ hơn hoặc lớn hớn 5 là sai á anh
    Bài đã được tự động gộp:

    Tất cả các cột sau cột 'I' đó các anh, ráng giúp dùm em nó đi & sẽ được cảm ơn mà!

    @Chủ bài đăng: Xài thử cái ni, nếu không ưng cái bụng thì 'la' lên nha!
    PHP:
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim Rws As Long, Col As Integer
     Dim Rng As Range
     
     Rws = Sheets("00.00").UsedRange.Rows.Count
     Col = Sheets("00.00").UsedRange.Columns.Count
     Set Rng = [J4].Resize(Rws, Col)
     If Not Intersect(Target, Rng) Is Nothing Then
        If Len(Target.Value) <>5 Then MsgBox "Nhâp Sai . . . Rôi!",,"Sao Mình Ngu Quá!"
     End If
    End Sub
    em cảm on thầy,dạ code của thầy đã đáp ứng nhu cầu của em ạ .Nhưng cho em hỏi là sau khi xóa nó cũng hiện hộp thoại msg box ạ nó làm trậm thời gian e nhập tay ạ .và khi nhập trùng thì số nó có tô màu nên không ạ
     
    Lần chỉnh sửa cuối:
    Thì sửa lại điều kiện là Len(Target)>=1 & Len(target)<> 5 thủ cem sao:
    Còn sự trùng là trùng với ai Hay trùng với kẻ trên hay người dưới?
    :D :D
     
    dạ cái số này ạ nó không có tên hiển thị nên em không biết ạ(còn e nhập thì nhập tay thôi ạ nó chỉ có 4 số kèm thêm dấu cách là 5 số ạ) View attachment 309327
    Bài đã được tự động gộp:



    nó nhỏ hơn hoặc lớn hớn 5 là sai á anh
    Bài đã được tự động gộp:


    em cảm on thầy,dạ code của thầy đã đáp ứng nhu cầu của em ạ .Nhưng cho em hỏi là sau khi xóa nó cũng hiện hộp thoại msg box ạ nó làm trậm thời gian e nhập tay ạ .và khi nhập trùng thì số nó có tô màu nên không ạ
    em làm thực tế là không nhìn máy tính ạ chỉ nhìn hàng rồi nhập vào hết một panel thì e kiểm tra . trùng và thiếu thì e tìm hàng rồi sửa lại nó khá mất thời gian vậy có cú pháp hay câu lệnh nào trong excel mà khi nhập sai nó không cho nhập nữa không ạ.mong thầy giải đáp
    Bài đã được tự động gộp:

    Thì sửa lại điều kiện là Len(Target)>=1 & Len(target)<> 5 thủ cem sao:
    Còn sự trùng là trùng với ai Hay trùng với kẻ trên hay người dưới?
    :D :D
    dạ thưa thầy là các số trên file nó chia mỗi lot hàng khác nhau lên số liệu cả file sẽ trùng lặp. Nhưng khi nhập 1 lot no thì số trong đó sẽ không được trùng ạ
     
    Lần chỉnh sửa cuối:
    em làm thực tế là không nhìn máy tính ạ chỉ nhìn hàng rồi nhập vào hết một panel thì e kiểm tra . trùng và thiếu thì e tìm hàng rồi sửa lại nó khá mất thời gian vậy có cú pháp hay câu lệnh nào trong excel mà khi nhập sai nó không cho nhập nữa không ạ.mong thầy giải đáp
    Bài đã được tự động gộp:


    dạ thưa thầy là các số trên file nó chia mỗi lot hàng khác nhau lên số liệu cả file sẽ trùng lặp. Nhưng khi nhập 1 lot no thì số trong đó sẽ không được trùng ạ
    thường thì sau khi kết thúc một lot no thì e sẽ hilight duplicate lên để tìm dữ liệu trùng nếu trùng số liệu thì đồng nghĩa việc nhập sai. nhưng khi có 2 lot thì số liệu sẽ lặp lại nên sẽ trùng vậy chỉ cần so sánh ngay tại thời điểm khi nhập tay sai mà nó tô màu lên để sửa thì sẽ tối ưu hơn ạ( em làm công nhân nên chủ yếu nhập liệu vào máy )
    Bài đã được tự động gộp:

    Thì sửa lại điều kiện là Len(Target)>=1 & Len(target)<> 5 thủ cem sao:
    Còn sự trùng là trùng với ai Hay trùng với kẻ trên hay người dưới?
    :D :D
    thường thì sau khi kết thúc một lot no thì e sẽ hilight duplicate lên để tìm dữ liệu trùng nếu trùng số liệu thì đồng nghĩa việc nhập sai. nhưng khi có 2 lot thì số liệu sẽ lặp lại nên sẽ trùng vậy chỉ cần so sánh ngay tại thời điểm khi nhập tay sai mà nó tô màu lên để sửa thì sẽ tối ưu hơn ạ( em làm công nhân nên chủ yếu nhập liệu vào máy )
     
    1. Chọn vùng dữ liệu bạn muốn kiểm tra (ví dụ: A1:A100).
    2. Vào tab Home → chọn Conditional FormattingNew Rule.
    3. Chọn “Use a formula to determine which cells to format”.
    4. Nhập công thức sau =LEN(A1)>5
    5. Nhấn Format… để chọn màu nền hoặc kiểu chữ bạn muốn dùng để đánh dấu ô vi phạm.
    6. Nhấn OK để áp dụng.
     
    1. Chọn vùng dữ liệu bạn muốn kiểm tra (ví dụ: A1:A100).
    2. Vào tab Home → chọn Conditional FormattingNew Rule.
    3. Chọn “Use a formula to determine which cells to format”.
    4. Nhập công thức sau =LEN(A1)>5
    5. Nhấn Format… để chọn màu nền hoặc kiểu chữ bạn muốn dùng để đánh dấu ô vi phạm.
    6. Nhấn OK để áp dụng.
    có dùng như khi nhập máy có hiện trạng giật ạ
     
    Em mới học excel mong mọi người giải đáp giúp ạ(e có file đính kèm như trên) muốn kiểm tra sau khi nhập liệu xong mà kí tự trong ô không quá 5 kí tự thì dùng công thức gì ạ để có thể kiểm tra sai khi thiếu hoặc thừa kí tự
    mình dùng định dạng có điều kiện. hy vọng đúng ý bạnscreenshot_1755499890.png
     

    File đính kèm

    bạn thử nhập vào file mình gửi xem. như mình nhập trên máy mình thì ok đấy, không lac không giật. tuyw nhiên mình chưa đọc kỹ yêu cầu nên bạn tự thêm điều kiện len(j4)<5 nữa nhé. à nhập trùng ythif không lên đâu
    sửa lại đk như sau =AND(OR(LEN(J4)>5;LEN(J4)<5);J4<>"")
     
    Lần chỉnh sửa cuối:
    1755500832197.png
    bạn thử nhập vào file mình gửi xem. như mình nhập trên máy mình thì ok đấy, không lac không giật. tuyw nhiên mình chưa đọc kỹ yêu cầu nên bạn tự thêm điều kiện len(j4)<5 nữa nhé. à nhập trùng ythif không lên đâu
    sửa lại đk như sau =AND(OR(LEN(J4)>5;LEN(J4)<5);J4<>"")
    tại e nhập số trên con hàng chứ không trên giấy nên chủ yếu nhìn vào hàng hóa khi hết hàng e sẽ lọc trùng nếu sai nhiều thì khó phát hiện lên khi muốn nhập sai nó sẽ tự tô màu luôn để sửa vì hàng hóa nặng khi nhập lại lại phải tìm
     
    Dựa theo VBA của bài #4 có thể phát triển ra kết quả như này hy vọng đúng với ý tưởng của bạn:
    1755506106491.png
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range
    Dim v As String
    Dim chkCell As Range
    Dim isDup As Boolean
    Dim Rws As Long, Col As Long

    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)

    If Not Intersect(Target, rng) Is Nothing Then
    For Each c In Target
    If c.Value <> "" Then
    v = Trim(CStr(c.Value))

    If Len(v) <> 5 Then
    c.Interior.Color = vbYellow
    Else
    isDup = False
    For Each chkCell In Me.Range("J4", c)
    If chkCell.Address = c.Address Then Exit For
    If Trim(CStr(chkCell.Value)) = v Then
    isDup = True
    Exit For
    End If
    Next chkCell

    If isDup Then
    c.Interior.Color = vbRed
    Else
    c.Interior.ColorIndex = xlNone
    End If
    End If
    Else
    c.Interior.ColorIndex = xlNone
    End If
    Next c
    End If
    ExitHandler:
    Application.EnableEvents = True
    End Sub
     

    File đính kèm

    Dựa theo VBA của bài #4 có thể phát triển ra kết quả như này hy vọng đúng với ý tưởng của bạn:
    View attachment 309335
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range
    Dim v As String
    Dim chkCell As Range
    Dim isDup As Boolean
    Dim Rws As Long, Col As Long

    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)

    If Not Intersect(Target, rng) Is Nothing Then
    For Each c In Target
    If c.Value <> "" Then
    v = Trim(CStr(c.Value))

    If Len(v) <> 5 Then
    c.Interior.Color = vbYellow
    Else
    isDup = False
    For Each chkCell In Me.Range("J4", c)
    If chkCell.Address = c.Address Then Exit For
    If Trim(CStr(chkCell.Value)) = v Then
    isDup = True
    Exit For
    End If
    Next chkCell

    If isDup Then
    c.Interior.Color = vbRed
    Else
    c.Interior.ColorIndex = xlNone
    End If
    End If
    Else
    c.Interior.ColorIndex = xlNone
    End If
    Next c
    End If
    ExitHandler:
    Application.EnableEvents = True
    End Sub

    Dựa theo VBA của bài #4 có thể phát triển ra kết quả như này hy vọng đúng với ý tưởng của bạn:
    View attachment 309335
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range
    Dim v As String
    Dim chkCell As Range
    Dim isDup As Boolean
    Dim Rws As Long, Col As Long

    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)

    If Not Intersect(Target, rng) Is Nothing Then
    For Each c In Target
    If c.Value <> "" Then
    v = Trim(CStr(c.Value))

    If Len(v) <> 5 Then
    c.Interior.Color = vbYellow
    Else
    isDup = False
    For Each chkCell In Me.Range("J4", c)
    If chkCell.Address = c.Address Then Exit For
    If Trim(CStr(chkCell.Value)) = v Then
    isDup = True
    Exit For
    End If
    Next chkCell

    If isDup Then
    c.Interior.Color = vbRed
    Else
    c.Interior.ColorIndex = xlNone
    End If
    End If
    Else
    c.Interior.ColorIndex = xlNone
    End If
    Next c
    End If
    ExitHandler:
    Application.EnableEvents = True
    End Sub
    Cảm ơn anh đoạn code tuyệt quá máy yếu cũng dùng được
     
    Lần chỉnh sửa cuối:
    Dựa theo VBA của bài #4 có thể phát triển ra kết quả như này hy vọng đúng với ý tưởng của bạn:
    View attachment 309335
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range
    Dim v As String
    Dim chkCell As Range
    Dim isDup As Boolean
    Dim Rws As Long, Col As Long

    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)

    If Not Intersect(Target, rng) Is Nothing Then
    For Each c In Target
    If c.Value <> "" Then
    v = Trim(CStr(c.Value))

    If Len(v) <> 5 Then
    c.Interior.Color = vbYellow
    Else
    isDup = False
    For Each chkCell In Me.Range("J4", c)
    If chkCell.Address = c.Address Then Exit For
    If Trim(CStr(chkCell.Value)) = v Then
    isDup = True
    Exit For
    End If
    Next chkCell

    If isDup Then
    c.Interior.Color = vbRed
    Else
    c.Interior.ColorIndex = xlNone
    End If
    End If
    Else
    c.Interior.ColorIndex = xlNone
    End If
    Next c
    End If
    ExitHandler:
    Application.EnableEvents = True
    End Sub
    dạ khi dùng code thì tên trùng nhiều thì giữ nguyên ạ chỉ lọc số thì xóa hay thêm câu lệnh gì ạ
     
    Dựa theo VBA của bài #4 có thể phát triển ra kết quả như này hy vọng đúng với ý tưởng của bạn:
    View attachment 309335
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range
    Dim v As String
    Dim chkCell As Range
    Dim isDup As Boolean
    Dim Rws As Long, Col As Long

    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)

    If Not Intersect(Target, rng) Is Nothing Then
    For Each c In Target
    If c.Value <> "" Then
    v = Trim(CStr(c.Value))

    If Len(v) <> 5 Then
    c.Interior.Color = vbYellow
    Else
    isDup = False
    For Each chkCell In Me.Range("J4", c)
    If chkCell.Address = c.Address Then Exit For
    If Trim(CStr(chkCell.Value)) = v Then
    isDup = True
    Exit For
    End If
    Next chkCell

    If isDup Then
    c.Interior.Color = vbRed
    Else
    c.Interior.ColorIndex = xlNone
    End If
    End If
    Else
    c.Interior.ColorIndex = xlNone
    End If
    Next c
    End If
    ExitHandler:
    Application.EnableEvents = True
    End Sub
    có thể đièu kiện <>5 chỉ là số không ạ tại cột họ tên thì trùng nhau là đúng mà
     
    có thể đièu kiện <>5 chỉ là số không ạ tại cột họ tên thì trùng nhau là đúng mà
    Câu lệnh của bài #4 chỉ kiểm tra từ J4 trở đi nên mình không hiểu sao tên của bạn ở cột G cũng bị?
    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)
     
    Anh giải thích em đoạn này có tác dụng gì ạ?
    Mình cũng mới học VBA nên theo ý hiểu cá nhân của mình là :
    - "On Error GoTo ExitHandler" Nếu có lỗi xảy ra ở bất kỳ đâu trong code, chương trình sẽ chuyển hướng đến nhãn ExitHandler để xử lý ( ExitHandler bạn có thể xem cuối code)
    - "Application.EnableEvents = False" Dòng này tắt tất cả macro sự kiện trong Excel, tránh kích hoạt macro khác.
    *nếu có thể cải tiến mong bạn góp ý để xây dựng code hoàn thiện hơn"*
     
    Mình cũng mới học VBA nên theo ý hiểu cá nhân của mình là :
    - "On Error GoTo ExitHandler" Nếu có lỗi xảy ra ở bất kỳ đâu trong code, chương trình sẽ chuyển hướng đến nhãn ExitHandler để xử lý ( ExitHandler bạn có thể xem cuối code)
    - "Application.EnableEvents = False" Dòng này tắt tất cả macro sự kiện trong Excel, tránh kích hoạt macro khác.
    *nếu có thể cải tiến mong bạn góp ý để xây dựng code hoàn thiện hơn"*

    Dựa theo VBA của bài #4 có thể phát triển ra kết quả như này hy vọng đúng với ý tưởng của bạn:
    View attachment 309335
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c As Range, rng As Range
    Dim v As String
    Dim chkCell As Range
    Dim isDup As Boolean
    Dim Rws As Long, Col As Long

    On Error GoTo ExitHandler
    Application.EnableEvents = False

    Rws = Me.UsedRange.Rows.Count
    Col = Me.UsedRange.Columns.Count
    Set rng = Me.Range("J4").Resize(Rws, Col)

    If Not Intersect(Target, rng) Is Nothing Then
    For Each c In Target
    If c.Value <> "" Then
    v = Trim(CStr(c.Value))

    If Len(v) <> 5 Then
    c.Interior.Color = vbYellow
    Else
    isDup = False
    For Each chkCell In Me.Range("J4", c)
    If chkCell.Address = c.Address Then Exit For
    If Trim(CStr(chkCell.Value)) = v Then
    isDup = True
    Exit For
    End If
    Next chkCell

    If isDup Then
    c.Interior.Color = vbRed
    Else
    c.Interior.ColorIndex = xlNone
    End If
    End If
    Else
    c.Interior.ColorIndex = xlNone
    End If
    Next c
    End If
    ExitHandler:
    Application.EnableEvents = True
    End Sub
    anh ơi làm sao để code đó chỉ chạy một sheet chỉ định. tại code của anh khi e nhập nhiều số lượng not thì nó sẽ trùng nhiều e muốn tách riêng chỉ chạy một sheet nhập tay còn e copy qua sheet tổng để nó không tô màu nữa
     
    sự kiện Worksheet_Change nên bạn đừng để code trong module, chỉ cần move code sang sheet là được
     
    anh ơi làm sao để code đó chỉ chạy một sheet chỉ định. tại code của anh khi e nhập nhiều số lượng not thì nó sẽ trùng nhiều e muốn tách riêng chỉ chạy một sheet nhập tay còn e copy qua sheet tổng để nó không tô màu nữa
    Private Sub Worksheet_Change chỉ chạy khi có thay đổi trên chính sheet đó ở đây là sheet 00.00.
    Vậy sao bạn không lấy cái Sheet 00.00 là sheet nhập và tạo 1 sheet tổng để copy sang? Như vậy thì sheet tổng sẽ không có code nữa.
    1755656667239.png
     
    Làm cho công ty có yếu tố nước ngoài mà kỹ năng thế này thì không biết được bao lâu nhỉ.

    Làm cho công ty có yếu tố nước ngoài mà kỹ năng thế này thì không biết được bao lâu nhỉ.
    cũng chưa có máy tính học thêm tại nhà thấy nó hay thì học và hỏi thêm mong anh chỉ giúp
     
    Lần chỉnh sửa cuối:
    Private Sub Worksheet_Change chỉ chạy khi có thay đổi trên chính sheet đó ở đây là sheet 00.00.
    Vậy sao bạn không lấy cái Sheet 00.00 là sheet nhập và tạo 1 sheet tổng để copy sang? Như vậy thì sheet tổng sẽ không có code nữa.
    View attachment 309356
    dạ em có thử rồi nhưng code vẫn hoạt động trên các sheet ở file đó
    Bài đã được tự động gộp:

    Private Sub Worksheet_Change chỉ chạy khi có thay đổi trên chính sheet đó ở đây là sheet 00.00.
    Vậy sao bạn không lấy cái Sheet 00.00 là sheet nhập và tạo 1 sheet tổng để copy sang? Như vậy thì sheet tổng sẽ không có code nữa.
    View attachment 309356
    Dạ khi e tạo sheet khác code vẫn chạy trên sheet đó ạ1755659279830.png
     
    Lần chỉnh sửa cuối:
    Vậy như bài #27 đã khuyến cáo bạn kiểm tra lại nếu bạn đang để code trong modul thì nên chuyển code vào sheet giống file mẫu #18.
    Với trường hợp code đã ở trong sheet nhưng khi tạo sheet Tổng lại dùng tính năng move or copy.. thì bạn vào sheet vừa tạo xóa code đi nhé.
     
    Lần chỉnh sửa cuối:
    Vậy như bài #27 đã khuyến cáo bạn kiểm tra lại nếu bạn đang để code trong modul thì nên chuyển code vào sheet giống file mẫu #18.
    Với trường hợp code đã ở trong sheet nhưng khi tạo sheet Tổng lại dùng tính năng move or copy.. thì bạn vào sheet vừa tạo xóa code đi nhé.
    Khi áp dụng code của anh mà khi thay đổi một sự kiện như kiểu nhập xong ở sheet có code dán vào sheet tổng rồi nhập lại lot khác thì code không chạy nữa1755672912570.png
     
    Bạn chuyển file của bạn lên nhé vì mình không hình dung được vấn đề bạn đang mắc là gì.
    Dạ đây anh xem có phải do em copy xong xóa lên sự kiện nó không chạy không ạ
    Bài đã được tự động gộp:

    file không có dữ liệu sao mà diễn đàn bảo quá anh nhỉ
    Bài đã được tự động gộp:

    1755675241883.png
     
    Lần chỉnh sửa cuối:
    Dạ đây anh xem có phải do em copy xong xóa lên sự kiện nó không chạy không ạ
    Bạn copy xong rồi bạn Xóa dòng thì UsedRange thay đổi như vậy code không chạy là đúng rồi.
    Vậy hiểu lại vấn đề của bạn là:
    1. Bạn chỉ muốn kiểm tra trùng lặp và tổng ký tự nhập trong 1 LOT không phải kiểm tra trong tất cả các LOT. - Bạn xác nhận lại nhé.
    2. Bạn muốn tạo ra sheet Nhập từng LOT để khi nhập xong sẽ copy dữ liệu sang sheet Tổng và sheet Nhập sẽ xóa nội dung nhập lại LOT mới. - Bạn xác nhận lại nhé.

    Với các vấn đề trên nếu đúng thì bạn đi sai hướng ngay từ #1 rồi.
     
    Bạn chuyển file của bạn lên nhé vì mình không hình dung được vấn đề bạn đang mắc là gì.

    Bạn chuyển file của bạn lên nhé vì mình không hình dung được vấn đề bạn đang mắc là gì.

    Bạn copy xong rồi bạn Xóa dòng thì UsedRange thay đổi như vậy code không chạy là đúng rồi.
    Vậy hiểu lại vấn đề của bạn là:
    1. Bạn chỉ muốn kiểm tra trùng lặp và tổng ký tự nhập trong 1 LOT không phải kiểm tra trong tất cả các LOT. - Bạn xác nhận lại nhé.
    2. Bạn muốn tạo ra sheet Nhập từng LOT để khi nhập xong sẽ copy dữ liệu sang sheet Tổng và sheet Nhập sẽ xóa nội dung nhập lại LOT mới. - Bạn xác nhận lại nhé.

    Với các vấn đề trên nếu đúng thì bạn đi sai hướng ngay từ #1 rồi.
    dạ em cảm ơn anh ạ vậy anh có hướng đi khác anh có thể nói cho em hiểu với ạ
    Bài đã được tự động gộp:

    Bạn copy xong rồi bạn Xóa dòng thì UsedRange thay đổi như vậy code không chạy là đúng rồi.
    Vậy hiểu lại vấn đề của bạn là:
    1. Bạn chỉ muốn kiểm tra trùng lặp và tổng ký tự nhập trong 1 LOT không phải kiểm tra trong tất cả các LOT. - Bạn xác nhận lại nhé.
    2. Bạn muốn tạo ra sheet Nhập từng LOT để khi nhập xong sẽ copy dữ liệu sang sheet Tổng và sheet Nhập sẽ xóa nội dung nhập lại LOT mới. - Bạn xác nhận lại nhé.

    Với các vấn đề trên nếu đúng thì bạn đi sai hướng ngay từ #1 rồi.
    Em chỉ muốn khi nhập số sẽ không bị trùng và không nhập sai tại số em mặc định 5 kí tự nhưng khi làm thì sẽ có nhiều lot nó trùng lại số nên em tách code riêng để nhập liệu rồi em copy qua sheet khác không có code trên cùng file
     
    Nếu vậy thì bạn nên làm theo phương án bài #16 chỉ là bạn tách ra 1 sheet NHẬP khi nào bạn nhập xong 1 LOT thì bạn copy qua sheet Tổng và quay lại clear content LOT cũ (sheet NHẬP) và nhập thêm LOT mới - tiếp tục vòng lặp
    Như vậy sẽ nhẹ và dễ thao tác hơn.
     
    Chủ bài đăng cần xem lại cách trình bày yêu cầu của mình;
    Gần đến bài 40 rồi mà cứ như phải thêm yêu cầu từng tí một trong từng bài!
     
    Nếu vậy thì bạn nên làm theo phương án bài #16 chỉ là bạn tách ra 1 sheet NHẬP khi nào bạn nhập xong 1 LOT thì bạn copy qua sheet Tổng và quay lại clear content LOT cũ (sheet NHẬP) và nhập thêm LOT mới - tiếp tục vòng lặp
    Như vậy sẽ nhẹ và dễ thao tác hơn.
    em có làm nhưng khi copy xong quay lại nhập như anh nói thì code ở sheet nhập không chạy ạ
     
    Chủ bài đăng cần xem lại cách trình bày yêu cầu của mình;
    Gần đến bài 40 rồi mà cứ như phải thêm yêu cầu từng tí một trong từng bài!
    Thưa thầy công việc của em chủ yếu là nhìn số trên con hàng nhập vào máy tinh để khi sau nay có lỗi sẽ biết ai lọt lỗi. trong quá trình nhập sẽ có hiện trạng sai thường sau mỗi lot hàng(500 con hàng em sẽ lọc trùng nhưng khi lọc trùng thì vẫn có nhiều số sai dưới hoặc trên 5 kí tự mà lọc trùng không rà soát hết lỗi được . em mong có công thức hoặc code mà khi e nhập sai hoặc trùng thì nó sẽ bôi màu lên ô để sửa tại thời gian nhập. Nhưng trong quá trình thì số con hàng trên nhiều lot sẽ trùng nhau nên phải nhập xong copy ra file khác không thì code sẽ sai..
    Bài đã được tự động gộp:

    em
    Bạn xem lại cách làm của bài #16 và tự tạo 1 file mới không dùng file bài #18 nữa vì code đó không đúng với yêu cầu của bạn.
    dùng công thức có remoduplicate máy bị đơ anh ạ không nhập liệu được
     
    Lần chỉnh sửa cuối:

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

    Back
    Top Bottom