Xin giúp đỡ code VBA chèn thêm dòng
Chào cả nhà.
Mình có bài toán như sau, mong mọi người giúp đỡ:
– Bảng dữ liệu ở cột A, B, C
– Số lượng dòng của mỗi 1 nhóm là cột IMình cần chèn thêm dòng vào sau mỗi 1 nhóm (cột A) để đủ số lượng cho trước (số lượng dòng cần thêm của mỗi nhóm là khác nhau).
7471
Cảm ơn mọi người.
Code dưới đây 1 phát ăn ngay, không cần trung gian.
Vùng H:K chỉ để kiểm tra, không liên quan đến code.
Vì mình không rõ sau khi insert thêm dòng, thì cột A bạn muốn để trống hay điền mã "section" vào.
Do đó mình đã giả định là có điền mã vào.
Nếu không thì bạn delete dòng đó đi (các dòng có chú thích "bo dong nay di, neu ban muon cot A trong")
Option Explicit
Sub insertDong()
Dim lr&, i&, j&, k&, c&, rng, res(1 To 100000, 1 To 3)
Const sodong = 54 ' xac dinh so dong tieu chuan tai day!
lr = Cells(Rows.Count, "A").End(xlUp).Row
rng = Range("A2:C" & lr).Value
c = sodong
For i = 2 To UBound(rng)
If rng(i, 1) = rng(i – 1, 1) Then
k = k + 1: c = c – 1
res(k, 1) = rng(i, 1): res(k, 2) = rng(i, 2): res(k, 3) = rng(i, 3)
Else
If c > 0 Then
For j = 1 To c
k = k + 1
res(k, 1) = rng(i – 1, 1) ' bo dong nay di, neu ban muon cot A trong
Next
End If
c = sodong
End If
Next
' bo cac dong nay di, neu ban muon cot A trong
'————————————————-
If c > 0 Then
For j = 1 To c
k = k + 1
res(k, 1) = rng(UBound(rng), 1) ' bo dong nay di, neu ban muon cot A trong
Next
End If
'————————————————-
Range("A2:C100000").ClearContents
Range("A2").Resize(k, 3).Value = res
End Sub
www.giaiphapexcel.com/diendan/threads/xin-gi%C3%BAp-%C4%91%E1%BB%A1-code-vba-ch%C3%A8n-th%C3%AAm-d%C3%B2ng.166190/
Kỹ năng giải quyết vấn đề hiệu quả
Mô tả Nội dung Đánh giá Tài nguyên KỸ NĂNG GIẢI QUYẾT VẤN ĐỀ HIỆU QUẢHiểu đúng vấn đề là một nửa của giải...
Xem khóa học
Bình luận