Xóa 1 phần tử trong mảng lấy từ Range

Liên hệ QC

Miccpro

Thành viên thường trực
Tham gia
9/12/10
Bài viết
236
Được thích
10
Em muốn xóa 1 phần tử trong mảng nhưng code em bị lỗi, mong các anh chị giúp đỡ
Mã:
Sub RemoveItem(index As Long)
Dim i As Long
Dim MyArr
MyArr = Sheet1.Range("A8:A" & Sheet1.Range("A65536").End(xlUp).Row).Value
    For i = index + 1 To UBound(MyArr)
      MyArr(i - 1) = MyArr(i)
    Next
ReDim Preserve MyArr(Len(MyArr) - 1)
End Sub
 
Mình đọc kỹ lý thuyết đã, rồi tính sau.

 
Upvote 0
Mình đọc kỹ lý thuyết đã, rồi tính sau.

Em có đọc mà chưa hiểu lắm. Nó vẫn báo lỗi "Subscript out of range". Mong anh chị giúp đỡ
 
Upvote 0
Em muốn xóa 1 phần tử trong mảng nhưng code em bị lỗi, mong các anh chị giúp đỡ
Mã:
Sub RemoveItem(index As Long)
Dim i As Long
Dim MyArr
MyArr = Sheet1.Range("A8:A" & Sheet1.Range("A65536").End(xlUp).Row).Value
    For i = index + 1 To UBound(MyArr)
      MyArr(i - 1) = MyArr(i)
    Next
ReDim Preserve MyArr(Len(MyArr) - 1)
End Sub
MyArr nhận giá trị gán từ range là mảng 2 chiều ---> phải viết MyArr(i,1)
 
Upvote 0
Một lỗi khác là Array không có độ dài không thể xài hàm Len
 
Upvote 0
Code này còn nhiều vấn đề lắm.
Vì MyArr là mảng 2 chiều nên không thể Redim Preserve được.

Phải biết cái sub này chủ yếu dùng vào việc gì mới có cách sửa. Hiện nay thì nó chỉ chạy chơi cho vuio chưa chẳng thực hiện điều gì cả.
 
Upvote 0
Web KT
Back
Top Bottom