Em xin được sự giúp đỡ: tự động chèn thêm dòng và điền mã số ở ô vừa được chèn

Liên hệ QC

chothadiem

Thành viên hoạt động
Tham gia
29/10/18
Bài viết
188
Được thích
50
Em nhờ Các anh chị và Thầy cô giúp em bài toán sau ạ:
1.Khi mà cột E có Nội dung bắt đầu bằng "Cát đắp" ở vị trí đầu dòng thì tự chèn thêm 1 dòng vào ngay bên dưới và đánh mã "LMDC" vào cột C của dòng trống vừa được chèn (như dòng 5 và dòng 6 trong file đính kèm).
2.Khi mà cột E có Nội dung bắt đầu bằng "Bê tông" ở vị trí đầu dòng thì tự chèn thêm 1 dòng vào ngay bên dưới và đánh mã "LMBT" vào cột C của dòng trống vừa được chèn (như dòng 12 và dòng 13 trong file đính kèm).
3.Khi mà cột E có Nội dung bắt đầu bằng "Vữa xây" hoặc "Vữa trát" ở vị trí đầu dòng thì tự chèn thêm 1 dòng vào ngay bên dưới và đánh mã "LMV" vào cột C của dòng trống vừa được chèn (như dòng 15 và dòng 16 trong file đính kèm).
(Pass: Nếu không chèn được tự động thì giúp em cách đánh mã "LMDC",..... vào cột C như em đã nêu, còn chèn dòng em sẽ chèn thủ công ạ! :p)

Em xin cảm ơn!
12.png
 

File đính kèm

  • so 01.xls
    33.5 KB · Đọc: 6
Lần chỉnh sửa cuối:
Em nhờ Các anh chị và Thầy cô giúp em bài toán sau ạ:
1.Khi mà cột E có Nội dung bắt đầu bằng "Cát đắp" ở vị trí đầu dòng thì tự chèn thêm 1 dòng vào ngay bên dưới và đánh mã "LMDC" vào cột C của dòng trống vừa được chèn (như dòng 5 và dòng 6 trong file đính kèm).
2.Khi mà cột E có Nội dung bắt đầu bằng "Bê tông" ở vị trí đầu dòng thì tự chèn thêm 1 dòng vào ngay bên dưới và đánh mã "LMBT" vào cột C của dòng trống vừa được chèn (như dòng 12 và dòng 13 trong file đính kèm).
3.Khi mà cột E có Nội dung bắt đầu bằng "Vữa xây" hoặc "Vữa trát" ở vị trí đầu dòng thì tự chèn thêm 1 dòng vào ngay bên dưới và đánh mã "LMV" vào cột C của dòng trống vừa được chèn (như dòng 15 và dòng 16 trong file đính kèm).
(Pass: Nếu không chèn được tự động thì giúp em cách đánh mã "LMDC",..... vào cột C như em đã nêu, còn chèn dòng em sẽ chèn thủ công ạ! :p)

Em xin cảm ơn!
View attachment 208811
Bạn thử thêm code này vào thử xem:
PHP:
Sub Vd()
    Dim shdata As Worksheet
    Dim shInfor As Worksheet
    Set shInfor = Sheets("infor")
    Set shdata = Sheets("Data")
    Dim i As Long
    With shdata
        For i = .Range("E" & .Rows.Count).End(xlUp).Row To 1 Step -1
            If .Range("E" & i) <> "" Then
                Dim j As Long
                For j = 2 To shInfor.Range("A600").End(xlUp).Row
                    If Left(.Range("E" & i).Value, Len(shInfor.Range("A" & j).Value)) = shInfor.Range("A" & j).Value Then
                        shdata.Range("A" & i + 1 & ":A" & i + shInfor.Range("B" & j).Value).EntireRow.Insert
                        shdata.Range("C" & i + 1).Value = shInfor.Range("C" & j).Value
                        Exit For
                    End If
                Next
            End If
        Next
    End With
End Sub
 

File đính kèm

  • so 01.xls
    97.5 KB · Đọc: 8
Upvote 0
Bạn thử thêm code này vào thử xem:
PHP:
Sub Vd()
    Dim shdata As Worksheet
    Dim shInfor As Worksheet
    Set shInfor = Sheets("infor")
    Set shdata = Sheets("Data")
    Dim i As Long
    With shdata
        For i = .Range("E" & .Rows.Count).End(xlUp).Row To 1 Step -1
            If .Range("E" & i) <> "" Then
                Dim j As Long
                For j = 2 To shInfor.Range("A600").End(xlUp).Row
                    If Left(.Range("E" & i).Value, Len(shInfor.Range("A" & j).Value)) = shInfor.Range("A" & j).Value Then
                        shdata.Range("A" & i + 1 & ":A" & i + shInfor.Range("B" & j).Value).EntireRow.Insert
                        shdata.Range("C" & i + 1).Value = shInfor.Range("C" & j).Value
                        Exit For
                    End If
                Next
            End If
        Next
    End With
End Sub
Cái này không ổn bạn ơi click dup là xong à.
 
Upvote 0
Cái này không ổn bạn ơi click dup là xong à.
Đành tạm thêm điều kiện cho code trên
PHP:
If .Range("E" & i) <> "" And .Range("C" & i + 1) = "" Then


 
Upvote 0
Lần chỉnh sửa cuối:
Upvote 0
Đành tạm thêm điều kiện cho code trên
PHP:
If .Range("E" & i) <> "" And .Range("C" & i + 1) = "" Then
Bài đã được tự động gộp:

Bạn thử thêm code này vào thử xem:
PHP:
Sub Vd()
    Dim shdata As Worksheet
    Dim shInfor As Worksheet
    Set shInfor = Sheets("infor")
    Set shdata = Sheets("Data")
    Dim i As Long
    With shdata
        For i = .Range("E" & .Rows.Count).End(xlUp).Row To 1 Step -1
            If .Range("E" & i) <> "" Then
                Dim j As Long
                For j = 2 To shInfor.Range("A600").End(xlUp).Row
                    If Left(.Range("E" & i).Value, Len(shInfor.Range("A" & j).Value)) = shInfor.Range("A" & j).Value Then
                        shdata.Range("A" & i + 1 & ":A" & i + shInfor.Range("B" & j).Value).EntireRow.Insert
                        shdata.Range("C" & i + 1).Value = shInfor.Range("C" & j).Value
                        Exit For
                    End If
                Next
            End If
        Next
    End With
End Sub
Em cám ơn ạ!
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom