Page 1 of 1

Hỏi về VBA trong PP

Posted: Wed 14/04/2010 9:25 pm
by thanhdt15
Chào các anh,các chị các cô các bác,các chú...hì, em là thành viên mới của CLB VB hôm nay em có một khúc mắc mong nhận được sự trợ giúp của các "Đồng chí", làm ơn cho biết đoạn lệnh sau làm công việc gì với ạ?
Private Sub DeleteArrayElement(arr As Variant, idx As Integer)
' delete element at position 'idx' of an array
Dim i As Integer
Dim arr_length As Integer

arr_length = UBound(arr)

If (idx < 1) Or (idx > arr_length) Then
Exit Sub
End If

' shift array elements to the left
For i = idx To arr_length - 1
arr(i) = arr(i + 1)
Next i

' resize the array
ReDim Preserve arr(arr_length - 1)
End Sub

:(

Re: Hỏi về VBA trong PP

Posted: Fri 16/04/2010 7:01 am
by truongphu
thanhdt15 wrote:Hỏi về VBA trong PP

* cái nầy là VB bình thường, cấp độ: căn bản

* Nhớ bỏ code vào thẻ code đúng quy định

* DeleteArrayElement: Delete =Xóa, Array= Mảng, Element= phần tử
Muốn xóa một phần tử của mảng thì mảng đấy phải là mảng động

* arr = đối số hàm = mảng, idx = đối số hàm = vị trí phần tử cần xóa

For i = idx To arr_length - 1
arr(i) = arr(i + 1)
Next i

phần tử thứ i (cần xóa) sẽ nhận giá trị của i+1

Code: Select all

ReDim Preserve arr(arr_length - 1)

Redim: định lại kích thước mảng, Preserve: Giữ các giá trị phần tử