• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Hỏi về VBA trong PP

Nơi trao đổi về VBA (Visual Basic for Application), lập trình cho ứng dụng Microsoft Office, AutoCAD...

Moderator: tungblt

thanhdt15
Posts: 1
Joined: Tue 13/04/2010 3:33 pm

Hỏi về VBA trong PP

Postby thanhdt15 » Wed 14/04/2010 9:25 pm

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

:(



User avatar
truongphu
VIP
VIP
Posts: 4766
Joined: Sun 04/11/2007 10:57 am
Location: Cam Đức, Khánh hòa
Has thanked: 14 times
Been thanked: 520 times

Re: Hỏi về VBA trong PP

Postby truongphu » Fri 16/04/2010 7:01 am

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ử
o0o--truongphu--o0o

.........
Ghé thăm:
Chuyện Linh Tinh


Return to “Visual Basic for Application (VBA)”

Who is online

Users browsing this forum: No registered users and 3 guests