CÔNG TY CỔ PHẦN BLUESOFTS

CÔNG TY CỔ PHẦN BLUESOFTS

Xử lý các vấn đề khi chia sẻ file Excel có VBA qua mạng trong Add-in A-Tools

 

 

1. Lệnh cập nhật công thức có hàm BS_SQL

CÔNG THỨC KIỂU VBA (mà nhiều người hay dùng)

Sheets("QL_K").Select
Application.Run "DoUpdateAllFormulasLater"


THAY THẾ THÀNH

Sheets("QL_K").Range("D8").FormulaArray = Sheets("QL_K").Range("D8").FormulaArray

CÁC LỆNH VBA TRONG FILE CẦN THAY THẾ

2. Người lập trình VBA cần phải xem ví dụ file:

C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Share VBA file.xls

3. Tích hợp thư viện của Add-in A-Tools  (AddinAdd-in A-Tools .dll). Mở file của em. Vào môi trường VBA (ALT+F11) vào menu Tools->References… Tích chọn dòng có “Add-in A-Tools…” như hình dưới đây:
VBA2.png
4. Trong file Excel, mở ThisWorkbook dán đoạn code này vào dòng đầu tiên của Class “ThisWorkbook”:

#If Mac Then
    Private mXnet As Object
#Else
    Private mXnet As BSNetwork 'Goto menu A-Tools->References. Check AddinAdd-in A-Tools .dll
#End If
#If Mac Then
Public Property Get Xnet() As Object
#Else
Public Property Get Xnet() As BSNetwork
#End If
    #If Mac Then
        Exit Property
    #End If
    If mXnet Is Nothing Then
        Set mXnet = New BSNetwork
    End If


5. Import file thư viện chứa mã nguồn xử lý của Add-in A-Tools .

vb4.png

6. Lệnh mở sheet cần sửa lại.
- Nếu sử dụng Hyperlink tại ô (Cell) để mở sheet thì không cần sửa gì.
- Nếu Hyperlink trên các đối tượng Shape, nút bấm thì phải Assign tới macro có lệnh mở sheet.
Trong VBA để mở sheet “QL_K" thì dùng  không được dùng Sheets("QL_K").Select
Trong Add-in A-Tools  phải sửa là mà phải dùng OpenSheet "QL_K"

Gán biến vào một sheet


 Dim sh As Worksheet
          Set sh = Sheets("QL_K")


Trong Add-in A-Tools  cần thay thành:

 Set sh = OpenSheets("QL_K")

7. Các vấn đề về ghi dữ liệu khi có lệnh EnableEvents = False
Xem mã nguồn tại file “C:\A-Tools\HELP & DEMOS\A-Tools VBA Programming\Share VBA file.xls