Tình nghĩa giang hồ
Thanh sơn bất cải, lục thủy trường lưu
- Tham gia
- 29/9/20
- Bài viết
- 330
- Được thích
- 429
Chào anh chị em có vấn đề này nhờ anh chị hỗ trợ giúp em
Em có 1 bảng dữ liệu từ B2 đến P1000
Em muốn chuyển dữ liệu bảng B2:B1000 này vào 1 cột Q bắt đầu từ Q2
Em đã code được việc di chuyển, nhưng có một vấn đề là xóa trùng thì em không làm được.
Em phải viết thêm bằng cách ăn gian: thêm Remove dulicate.
Trường hợp này cho em hỏi là code viết bằng mảng có cách nào loại bỏ trùng từ code không ? Hay phải viết theo kiểu từ điển thì mới xóa trùng được anh chị.
Nhờ anh chị xem giúp em trường hợp này.
Em mong muốn là xóa trùng trực tiếp trong mảng luôn.
Em cảm ơn anh chị.
Em có 1 bảng dữ liệu từ B2 đến P1000
Em muốn chuyển dữ liệu bảng B2:B1000 này vào 1 cột Q bắt đầu từ Q2
Em đã code được việc di chuyển, nhưng có một vấn đề là xóa trùng thì em không làm được.
Em phải viết thêm bằng cách ăn gian: thêm Remove dulicate.
Trường hợp này cho em hỏi là code viết bằng mảng có cách nào loại bỏ trùng từ code không ? Hay phải viết theo kiểu từ điển thì mới xóa trùng được anh chị.
Nhờ anh chị xem giúp em trường hợp này.
Em mong muốn là xóa trùng trực tiếp trong mảng luôn.
Em cảm ơn anh chị.
Mã:
Sub Bang_to_Cot()
Sheet1.Range("Q2:Q5000").ClearContents
Dim arr(), r As Long, c As Long, a As Long, kq()
arr = Sheet1.Range("B2:P1000")
ReDim kq(1 To UBound(arr, 1) * UBound(arr, 2), 1 To 1)
For c = 1 To UBound(arr, 2)
For r = 1 To UBound(arr, 1)
If arr(r, c) <> "" Then
a = a + 1
kq(a, 1) = arr(r, c)
End If
Next
Next
Sheet1.Range("Q2").Resize(a, 1).Value = kq
'Remove Dulicate bằng Record Macro
Application.Goto Reference:="R2C17:R1000C17"
ActiveSheet.Range("$Q$1:$Q$1000").RemoveDuplicates Columns:=1, Header:= _
xlYes
End Sub