Tôi có một file Excel gồn 8 cột và 1200 dòng (như file đính kèm). Nội dung cần giúp tôi đã trình bày trong file. Các pro tải về và nghiên cứu làn giúp tôi nhé! Xin cảm ơn.
Option Explicit
Sub InsertRow()
Dim n As Long
Dim SoDong As Long
Dim i As Integer
n = Sheet1.Range("G65000").End(xlUp).Row
For i = n To 3 Step -1
If IsNumeric(Sheet1.Range("G" & i - 1)) = True Then
SoDong = Sheet1.Range("G" & i) - Sheet1.Range("G" & i - 1)
If SoDong > 1 Then Sheet1.Range("B" & i & ":H" & i + SoDong - 2).Insert Shift:=xlDown
Else
SoDong = Sheet1.Range("G" & i) - Sheet1.Range("A" & i)
If SoDong > 1 Then
Sheet1.Range("B" & i & ":H" & i + SoDong - 2).Insert Shift:=xlDown
Else
Sheet1.Range("B" & i & ":H" & i).Insert Shift:=xlDown
End If
End If
Next
End Sub
Chép code này vào một modul và chạy nó
PHP:Option Explicit Sub InsertRow() Dim n As Long Dim SoDong As Long Dim i As Integer n = Sheet1.Range("G65000").End(xlUp).Row For i = n To 3 Step -1 If IsNumeric(Sheet1.Range("G" & i - 1)) = True Then SoDong = Sheet1.Range("G" & i) - Sheet1.Range("G" & i - 1) If SoDong > 1 Then Sheet1.Range("B" & i & ":H" & i + SoDong - 2).Insert Shift:=xlDown Else SoDong = Sheet1.Range("G" & i) - Sheet1.Range("A" & i) If SoDong > 1 Then Sheet1.Range("B" & i & ":H" & i + SoDong - 2).Insert Shift:=xlDown Else Sheet1.Range("B" & i & ":H" & i).Insert Shift:=xlDown End If End If Next End Sub
Tôi có một file Excel gồn 8 cột và 1200 dòng (như file đính kèm). Nội dung cần giúp tôi đã trình bày trong file. Các pro tải về và nghiên cứu làn giúp tôi nhé! Xin cảm ơn.
Ở đây tôi sử dụng File của bạn để hướng dẫn bạn sử dụng công thức và dùng Auto Fillter để thêm các dòng cần thêm, dùng cách này nếu thành thục bạn có thể thao tác từ 5 đến 10 phút dù cho dữ liệu của bạn lên đến 10.000 dòng, đãm bảo chính xác 100%. Cách thực hiện như hướng dẫn trong File.
Mau chen dong tu dong.rar - File Shared from Box - Free Online File Storage
Đầu tiên xin cảm ơi bạn anhphuong81! Mình làm được rồi! Nhưng vẫn chưa chuẩn lắm (môt số chỗ mã NV ko liên tục nhưng đoạn code vẫn ko insert dòng vào phải làm thủ công mất công quá!
Trong file của bạn hãy kiểm tra cột G vì có số đứng sau nhỏ hơn số trước. yêu cầu của bài toán là khi Ínert dòng, giá trị ở cột G và cột A là trùng nhau
Trong Excel 2003 bạn vào Data và Sort để sắp xếp nó lại là đáp ứng được yêu cầu (vì đâu có phải ai cũng biết dùng VBA).