chuot0106
Thành viên gắn bó
- Tham gia
- 20/1/13
- Bài viết
- 2,567
- Được thích
- 1,670
Em nghĩ sao viết vậy mà, do cũng chưa nghĩ đến việc tối ưu thuật toán anh ạ!Nếu dùng code sao không dùng AdvancedFilter cho gọn nhẹ, chỉ 2 dòng code là xong
Em nghĩ sao viết vậy mà, do cũng chưa nghĩ đến việc tối ưu thuật toán anh ạ!Nếu dùng code sao không dùng AdvancedFilter cho gọn nhẹ, chỉ 2 dòng code là xong
Nếu dùng mảng thì code đó mình sửa lại chút thế nàyEm nghĩ sao viết vậy mà, do cũng chưa nghĩ đến việc tối ưu thuật toán anh ạ!
Sub loc()
Dim i As Long, j As Long, arr()
arr = Sheet1.Range("D2:D" & Sheet1.Range("D65500").End(xlUp).Row)
For i = 1 To UBound(arr)
If arr(i, 1) <> 0 Then
j = j + 1
arr(j, 1) = arr(i, 1)
End If
Next i
[G2].Resize(j) = arr
End Sub
Theo gợi ý của anh, code em viết thế này:Nếu dùng code sao không dùng AdvancedFilter cho gọn nhẹ, chỉ 2 dòng code là xong
Public Sub Loc()
With Sheet1
.Range("D1" & .Range("D65500").End(xlUp).Row).AdvancedFilter xlFilterCopy, [H1:H2], [G3], Unique:=False
End With
End Sub