CÔNG TY CỔ PHẦN BLUESOFTS

Lập trình VBA tạo hàm trả về mảng tự co giãn - Hàm lọc có điều kiện

 
Lập trình hàm mảng với thuộc tính tự nhận đủ phần tử của mảng vào sheet và tự co giãn đúng với kich cỡ của mảng là công nghệ đặc biệt trong Add-in A-Tools như các hàm BS_SQL, BS_VLOOKUP,... Điều tuyệt vời A-Tools đã mở thư viện API cho phép các bạn biết lập trình VBA có thể tạo ra những hàm mảng có thuộc tính gần giống như các hàm trong A-Tools.

 
Nội dung chi tiết trong video

Bước 1:
 nhúng thư viện Add-in A-Tools vào file Excel của bạn:
Trong cửa sổ VBA, vào menu Tools -> References..., tick chọn mục mà tham chiếu đến file "AddinATools.dll". Như hình dưới đây:

 
Bước 2: lập trình VBA theo cấu trúc h như sau
Trong cửa sổ VBA: vào meuu "Insert" chọn Module. Sau đó copy đoạn code dưới đây:

Function GetArray() As Variant
   Dim fa As New BSFormulaArray 
   Dim fi As New BSFormulaInfo 
   On Error GoTo lbEndFunc 
   If fa.Begin Then 
      'Create array 2D
      Dim arr(2, 1) 
      arr(0, 0) = "Q1": arr(0, 1) = 1 
      arr(1, 0) = "Q2": arr(1, 1) = 2 
      arr(2, 0) = "Q3": arr(2, 1) = 3 
      'Setup information for function
      fi.FunctionName = "GetArray" 
      'fi.PARAMS =array(list parameters)
      'Add array to BSFormulaArray
      GetArray = fa.Add(fi, arr) 
   Else 
      GetArray = fa.Result 
   End If 
lbEndFunc: 
   Set fi = Nothing 
   Set fa = Nothing 
   If Err <> 0 Then 
      'MsgBox Err.Description, vbCritical
   End If  
End Function

Bây giờ bạn đã có hàm UDF với tên GetArray() để chạy trên bảng tính Excel, hàm này trả về mảng tự co giãn kích thước với số phần tử của nó. Giống như các hàm mảng của Add-in A-Tools.



Các câu hỏi khác các bạn gửi lên group facebook: https://www.facebook.com/groups/hocexcel/
Tác giả: Nguyễn Duy Tuân
 
Hướng dẫn lập trình hàm mảng với các ngôn ngữ khác

Ngôn ngữ C#


Ngôn ngữ VB.NET




Ngôn ngữ DELPHI