kobebryant
Thành viên thường trực
- Tham gia
- 7/8/09
- Bài viết
- 248
- Được thích
- 28
Mình có 1 vùng dữ liệu ở sheet data, ở Sheet BC1 mình muốn tạo vùng dữ liệu bằng số lượng dòng với số lượng dòng ở sheet data, sheet BC1 có thể đang có sẵn nhiều dòng hơn hoặc ít dòng hơn.
Mình có viết code này nhưng khi dữ liệu lên 4000-5000 dòng là chạy chắc phải 10p. Không biết anh em có code nào để chạy nhanh hơn được ko
Cụ thể là mình xem 2 cell được đặt tên "CuoiData" và "CuoiBC1" xem CuoiBC1.Row nhiều hơn hay ít hơn CuoiData (có + thêm mấy dòng lệch nhau vì tiêu đề) thì xóa đi từng dòng hoặc insert từng dòng nên rất chậm
Mình có gửi file minh họa đính kèm.
Mình có viết code này nhưng khi dữ liệu lên 4000-5000 dòng là chạy chắc phải 10p. Không biết anh em có code nào để chạy nhanh hơn được ko
Cụ thể là mình xem 2 cell được đặt tên "CuoiData" và "CuoiBC1" xem CuoiBC1.Row nhiều hơn hay ít hơn CuoiData (có + thêm mấy dòng lệch nhau vì tiêu đề) thì xóa đi từng dòng hoặc insert từng dòng nên rất chậm
Mình có gửi file minh họa đính kèm.
Mã:
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim X As Integer
If Sheets("SCT").Range("CuoiSCT").Row > Sheets("NKC").Range("CuoiNKC").Row Then
b = Sheets("BC1").Range("CuoiBC1").Row - Sheets("data").Range("CuoiData").Row - 2
For a = 1 To b
X = Sheets("BC1").Range("CuoiBC1").Row - 1
Rows(X).EntireRow.Delete xlUp
Next a
ElseIf Sheets("BC1").Range("CuoiBC1").Row <= Sheets("data").Range("CuoiData").Row Then
c = Sheets("data").Range("CuoiData").Row - Sheets("BC1").Range("CuoiBC1").Row + 2
For a = 1 To c
Sheets("BC1").Range("CuoiBC1").EntireRow.Insert
Next a
End If