Minh họa cách tạo, nạp và sử dụng Add-Ins trong MS Excel

Liên hệ QC

Pansy_flower

...nợ người, nợ đời...
Thành viên danh dự
Tham gia
3/6/06
Bài viết
1,611
Được thích
14,001
Nghề nghiệp
...thiết kế máy bay cho VOI tự lái...^.^
Xây dựng thư viện các hàm chức năng

Khi sử dụng bảng tính Excel, chắc bạn không thể không dùng các hàm được định nghĩa sẵn như: SUM;COUNT;…Excel có vài trăm hàm như vậy được chia làm nhiều nhóm theo tính năng khác nhau. Tuy vậy, không phải chúng đã đáp ứng được hết các yêu cầu của người dùng. Nếu thường xuyên cần phải sử dụng các công thức tính tóan phức tạp trong bảng tính của mình, bạn có thể tự xây dựng hàm bằng ngôn ngữ lập trình Visual Basic rồi tập hợp chúng thành một thư viện hàm do người dùng định nghĩa (User-Defined FunctionsLibrary). Sau đó nạp thư viện này vào Excel qua công cụ Add-Ins. Như vậy bạn có thể dùng chúng như các hàm được định nghĩa sẵn trong Excel.
Các bước thực hiện cụ thể như sau:

1.Khởi động Excel, tạo một bảng tính mới (giả sử tên là Book1.xls). Trong Book1, bạn chỉ cần giữ lại một WorkSheet đầu tiên (xóa bỏ các WorkSheet từ Sheet2 đến hết, việc làm này nhằm thu gọn thư viện nên bạn có thể bỏ qua).

2.Chọn lệnh Tools.Marco.Visual Basic Editor (<Alt-F11>) để chuyển sang môi trường sọan thảo Visual Basic. Khung Project sẽ liệt kê các thư viện và dự án đang được mở trong Excel, trong đó có Book1.

3.Nhấn chuột vào dòng VBAProject (Book1) để chọn dự án này rồi chọn lệnh Insert. Module để chèn thêm một Module mới vào dự án (Module mới này sẽ có tên là Module1).

4.Nhấn đúp vào Module1 để chuyển sang khung sọan thảo bên phải khung Project. Nhập mã nguồn các hàm của bạn vào khung này. Bạn cần viết chúng theo đúng cú pháp của ngôn ngữ Visual Basic và chú ý không đặt tên hàm của mình trùng với các hàm và từ khóa đã có trong Excel.

5.Chọn lệnh File.Close anh Return to Microsoft Excel (<Alt-Q>) để quay trở lại Excel. Bạn có thể kiểm tra sự hoạt động của các hàm mới này ngay trong Book1. Nếu vẫn còn sai sót, quay lại thực hiện từ bước 2 để sửa mã nguồn của các hàm.

6.Chọn lệnhFile.SaveAs:
-Trong khung Save in, chọn thư mục: MSOffice\Office\Library (thư mục ngầm định chứa các thư viện của Excel).
-Trong khung File Name: Nhập tên tập tin theo ý mình (abc.xla).
-Trong khung Save As type: Chọn Microsft Excel Add-In.
-Nhấn OK để lưu lại thư viện dưới dạng tệp Add-In.

7.Khởi động lại Excel. Chọn lệnh Tools.Add-Ins

8. Trong danh sách Add-Ins available, đánh dấu chọn vào mục có đúng tên thư viện của mình. Nếu chưa có thì bấm Browse ... để dẫn tới thư mục đã save file ở bước 6

Kể từ đây bạn có thể dùng các hàm mới này như những hàm đã được định nghĩa sẵn trong Excel. Chúng sẽ được liệt kê trong nhóm hàm User Defined. Để sử dụng các hàm này trên máy tính khác, bạn chỉ việc chép tập tin abc.xla vào thư mục MSOffice\Office\Library rồi thực hiện các bước 7,8. Muốn bổ sung các hàm mới vào thư viện, bạn cần nhập thêm mã nguồn vào Module1 của thư viện rồi chọn lệnh File.Save abc.xla để lưu lại.
Để người khác không thể mở và sửa chữa được thư viện của mình, trước khi chọn File. Save, bạn chọn lệnh Tools.VBAProject Properties. Trong hộp tọai Project Properties, nhấp vào mục Protection; đánh dấu chọn Lock Project for Viewing; nhập mật khẩu vào dòng Password; nhập lại mật khẩu lần nữa vào dòng Confirm Password; nhấn OK. Sau này nếu muốn sữa nội dung mã nguồn của thư viện , bạn phải nhập mật khẩu này mới mở được thư viện.

(PCW)


(Trích bài của anh Hải Tâm)
 
Với những người thường xuyên phải sử dụng nhiều đến Excel hoặc các nhân viên kế toán họ muốn một số hàm riêng biệt để tính toán, chuyển đổi mà trong Excel không hỗ trợ. Đơn giản, giả dụ như bạn muốn in ấn một bảng kê có ghi tiền bằng chữ cho các bảng kê hoặc có thể sử dụng để tính cước phí chỉ cần thông qua một cột đơn vị, dung lượng, thời lượng sử dụng thì chẳng có hàm (function) nào trong Excel hỗ trợ. Lúc đó bạn sẽ phải lập trình cho mình một số hàm riêng trong công việc của mình. Các bước thực hiện bạn sẽ phải làm như sau.

Tạo các macro cho worksheet.
Vào Excel sau đó bạn tạo một worksheet mới. Sau đó vào menu Tools -> Macro -> Visual Basic Editor.


menutl1.jpg


Sau khi cửa sổ chương trình Visual Basic Editor được mở ra bạn hãy chọn menu Insert -> Module. Tại đây bạn có thể khai báo các hàm riêng cho bạn. Chúng ta thử làm ví dụ cho một bài toán đơn giản như sau: Một công ty bán phần mềm, nếu người mua mua của công ty các phiên bản đăng ký bản quyền thì dưới 10 phiên bản giá 5.000.000đ/phiên bản, nếu trên 10 bản thì giá từ bản thứ 11 trở đi là 4.000.000đ/phiên bản và từ bản thứ 31 trở đi thì giá là 2.500.000đ/phiên bản.

Trong cửa sổ module của bạn hãy nhập đoạn code như dưới đây để tạo function tính tiền theo số lượng:
Public Function Tinhtien(soluong As Integer) As Double
Tinhtien = 0
If soluong > 30 Then Tinhtien = 2.5 * (soluong - 30)
If soluong > 10 Then
If soluong > 30 Then Tinhtien = Tinhtien + 80
'do tu phien ban 11 den 20 gia la 4tr/1 phien ban = 80tr
If soluong <= 30 Then Tinhtien = Tinhtien + 4 * (soluong - 10)
Tinhtien = Tinhtien + 50 '10 phien ban dau gia 50tr
Else
Tinhtien = Tinhtien + soluong * 5
End If
Tinhtien = Tinhtien * 10 ^ 6 'quy ra tien trieu
End Function


codeen9.jpg




Sau đó bạn hãy lưu công việc của bạn, chọn menu File sau đó chọn Save, trong mục lưu giữ bạn hãy chọn tại FileType là Microsoft Office Excel Add-In (*.xla) rồi lưu lại với một tên file nào đó có thể lưu với tên Test.xla rồi nhấn Save.


saveasmicrosoftofficeexceladdinlz0.jpg


Kích hoạt functions riêng của bạn
Sau khi lưu giữ xong file Test.xla bạn hãy quay trở lại cửa sổ của Excel, chọn menu Tools -> Add-Ins, cửa sổ Add-Ins xuất hiện:


addinfg1.jpg



Nhấn Browse rồi chọn tới file Test.xla của bạn vừa được lưu giữ khi đó trên cửa sổ hộp thoại sẽ xuất hiện Test ở trong danh sách. Đánh dấu vào ô vuông phía trước Test để kích hoạt các hàm có trong file đó. Nhấn OK để thoát.

Sử dụng hàm của bạn
Vào cell nào đó trong worksheet để thử nghiệm kết quả của bạn, lựa chọn menu Insert -> Functions sẽ thấy hộp thoại như hình dưới đây:
 
Chỉnh sửa lần cuối bởi điều hành viên:
insertfunctionsbk9.jpg


Chọn tại phần Category hãy chọn User Defined sau đó chọn các hàm riêng của bạn ở danh sách phía dưới. Kết quả thử nghiệm với hàm TinhTien như ví dụ trên sẽ cho bạn kết quả như ý. Kết quả ở hình dưới đây được sử dụng thêm hàm chuyển đổi từ số sang chữ.

resultrz0.jpg




Sưu tầm
 
Sử dụng hàm User-Defined không dùng Add-In

Một cách khác sử dụng hàm User-Defined là copy tập tin xla vào thư mục XLSTART của Microsoft Office. Đối với Office 2003 theo đường dẫn:
C:\Program Files\Microsoft Office\OFFICE11\XLSTART
Nó sẽ mở cùng lúc với Excel, sử dụng các hàm của nó như của Excel nhưng không ghi vào Add-In.
 
Làm thế nào để có thể mở xem code của một Add-in có sẵn? Giúp mình nhé!!
 
Làm thế nào để có thể mở xem code của một Add-in có sẵn? Giúp mình nhé!!
Mở xem code add-ins như xem code các hàm tự tạo. Nhưng các add-ins người viết thường khóa bằng password. Muốn xem bạn phải hỏi ý kiến của tác giả.
 
Em đang sử dụng MS 2007, vậy muốn đưa vào Add-In thì thao tác như thế nào. Mong các sư huynh chỉ giúp. Thanks!
 
Cách khác tạo Add-In như sau:
Để các hàm VB "do người dùng soạn thảo" (user-defined) có thể dùng chung cho nhiều tập tin Excel, bạn chỉ cần gom chúng lại thành tập tin .XLA (Microsoft Excel Add-In). Cách làm như sau:

1. Khởi động Excel, tạo một workbook mới. Chọn Tools > Macro > Visual Basic Editor để mở cửa sổ soạn thảo VBA. Trong cửa sổ Project Explorer (nếu không thấy thì chọn View > Project Explorer), chọn VBAProject (Book1). Chọn Insert > Module để thêm một module vào workbook.

2. Gõ nội dung hàm tinhtong(ví dụ: tinhtong(N)) của bạn vào module mới tạo.

3. Chọn Tools > Macro > Macros để hiển thị hộp thoại Macro. Gõ tên hàm GiaiThua vào ô Macro name, bấm Options để mở tiếp hộp thoại Macro Options, gõ nội dung mô tả hàm vào ô Description, bấm OK để đóng hộp thoại Macro Options, bấm Cancel để đóng hộp thoại Macro.

4. Ghi workbook lên đĩa thành tập tin ToanHoc.XLA (ví dụ). Lưu ý: bạn phải đặt tập tin này đúng chỗ để Excel tự động nạp nó khi khởi động. Ví dụ, đối với Excel XP trên Windows XP, chọn thư mục C:\Documents and Settings\UserName\Application Data\Microsoft\AddIns. Đóng Excel mà không cần ghi lại các thay đổi trên Book1.

5. Dùng Windows Explorer để thêm mô tả cho add-in bằng cách bấm chuột phải trên tên tập tin ToanHoc.XLA, chọn Properties để mở hộp thoại Properties, chọn thẻ Summary để gõ mô tả vào ô Comments, gõ tên của add-in vào ô Title và bấm OK.

6. Khởi động lại Excel, cài đặt add-in vừa tạo cho Excel bằng cách chọn Tools > Add-Ins, chọn tên add-in cần cài đặt trong danh sách Add-Ins available, rồi bấm OK.

Từ đây trở về sau, mỗi lần mở Excel, bạn đương nhiên sử dụng được hàm "tinhtong" trong add-in ToanHoc.XLA
Thân!!!
 
Cho mình hỏi chút. Khi đã tạo được thành XLA rồi và đã chạy phe phé trong Add-in rồi. Nhưng mình muốn là khi gõ hàm của mình vào nó cũng hiển thị Tip các đối số, tham số của hàm lên thì làm như thế nào ???
 
Em đã cài đặt add-ins vào máy (em đang dùng excel 2007) mà sao lúc em mở ra nó ko hiện rõ như add-ins trong excel 2003 nhỉ?
Có ai biết thì bảo em với.Em cảm ơn nhiều.
 
Cho em hỏi vấn đề về Add in này với

Em có sài Add in chuyển đổi Font chữ EXCEL01, nhưng bỗng dưng nó biến mất trên hàng biểu tượng (cùng hàng với file, insert, edit...) nên không tài nào em có thể sài add in này được nữa(mặc dù add in này vẫn còn, em đã vào tool-add in và vẫn còn thấy add in này. vào thư mục gốc lưu file này cũng vẫn còn.) không biết có bác nào biết cách lôi nó ra giùm em đc kô? em cảm ơn nhìu!-0-/.
 
Em có sài Add in chuyển đổi Font chữ EXCEL01, nhưng bỗng dưng nó biến mất trên hàng biểu tượng (cùng hàng với file, insert, edit...) nên không tài nào em có thể sài add in này được nữa(mặc dù add in này vẫn còn, em đã vào tool-add in và vẫn còn thấy add in này. vào thư mục gốc lưu file này cũng vẫn còn.) không biết có bác nào biết cách lôi nó ra giùm em đc kô? em cảm ơn nhìu!-0-/.

Bạn vào lại Tool/Add-ins, sau đó đánh dấu chọn lại add-ins "Tvexcel01" là được thôi. Goodluck !
 
Làm thế nào để loại hẳn danh sách Add-ins

Em có 1 thắc mắc nhỏ, kính nhờ quý sự phụ chỉ dạy cho :
1.- Làm thế nào để biết add-ins đó đang ở thư mục nào ?
2.- Làm cách nào để loại trừ hẳn 1 trong các danh sách add-ins đó ra khi mình không muốn sử dụng. Đã check không dùng add-ins đó nhưng sao nó vẫn còn trong danh sách này. Xin vui lòng xem hình để giúp em.

Chân thành cám ơn
 

File đính kèm

  • removeaddin.jpg
    removeaddin.jpg
    13.6 KB · Đọc: 851
Em có 1 thắc mắc nhỏ, kính nhờ quý sự phụ chỉ dạy cho :
1.- Làm thế nào để biết add-ins đó đang ở thư mục nào ?
2.- Làm cách nào để loại trừ hẳn 1 trong các danh sách add-ins đó ra khi mình không muốn sử dụng. Đã check không dùng add-ins đó nhưng sao nó vẫn còn trong danh sách này. Xin vui lòng xem hình để giúp em.

Chân thành cám ơn

Chú xóa hết addin cần xóa trong 2 đường dẫn sau:
Mã:
C:\Program Files\Microsoft Office\OFFICE__\Library
C:\Documents and Settings\UserName\Application Data\Microsoft\AddIns
 
Em có 1 thắc mắc nhỏ, kính nhờ quý sự phụ chỉ dạy cho :
1.- Làm thế nào để biết add-ins đó đang ở thư mục nào ?
Một vài Add-In của hệ thống thì ta cũng không cần biết đến, chẳng hạn như Analysis toolpak, Solver...
Còn lại, những Add-In do ta đưa vào thì có cách như sao:
- Khởi động Excel, vào menu Tools\Add-Ins rồi bấm nút Browse

attachment.php

2.- Làm cách nào để loại trừ hẳn 1 trong các danh sách add-ins đó ra khi mình không muốn sử dụng. Đã check không dùng add-ins đó nhưng sao nó vẫn còn trong danh sách này. Xin vui lòng xem hình để giúp em.
Loại bỏ Add-In cũng làm như cách trên:
Vào menu Tools\Add-Ins và bỏ chọn Add-In nào đó không còn muốn dùng nữa:

attachment.php


- Tiếp theo lại bấm nút Browse, (như hình 1) rồi chọn tên Add-In muốn xóa, Bấm nút Delete
- Bấm nút Cancel để trở về hộp Add-Ins
- Check vào Add-Ins mà ta muốn xóa
- Một hộp thoại cảnh báo sẽ xuất hiện (vì không tìm thấy Add-In)

attachment.php


- Bấm Yes là xong!
 

File đính kèm

  • untitled1.JPG
    untitled1.JPG
    28.9 KB · Đọc: 1,397
  • untitled2.JPG
    untitled2.JPG
    26.1 KB · Đọc: 1,369
  • untitled3.JPG
    untitled3.JPG
    13.9 KB · Đọc: 1,363
Xin lỗi, sáng giờ bị cúp điện nên không đọc được các bài Quý Thầy chỉ dẫn. Đọc xong và đã làm đúng các bước theo Thầy ndu96081631 chỉ dẫn nhưng mãi không tìm ra được cái add-ins : ThueTNCN.

Em muốn xóa nó đi hẳn để không còn trong danh sách add-ins này nữa nhưng không tài nào tìm ra được.

addin-1.png

Chỉ còn cách dùng chức năng search thì có kết quả như sau :

searchaddins.png

Vậy chắc mình phải vào thư mục đó mình xóa hẳn nó hay sao ? Em vào thư mục theo hình vẽ search. Em move nó qua một thư mục khác hoặc đổi tên lại. Sau đó, theo các bước của Thầy Thầy ndu96081631 chỉ dẫn thì OK

Chân thành cám ơn
 
Lần chỉnh sửa cuối:
Xin lỗi, sáng giờ bị cúp điện nên không đọc được các bài Quý Thầy chỉ dẫn. Đọc xong và đã làm đúng các bước theo Thầy ndu96081631 chỉ dẫn nhưng mãi không tìm ra được cái add-ins : ThueTNCN.

Em muốn xóa nó đi hẳn để không còn trong danh sách add-ins này nữa nhưng không tài nào tìm ra được.

Chỉ còn cách dùng chức năng search thì có kết quả như sau :
Vậy chắc mình phải vào thư mục đó mình xóa hẳn nó hay sao ? Em vào thư mục theo hình vẽ search. Em move nó qua một thư mục khác hoặc đổi tên lại. Sau đó, theo các bước của Thầy Thầy ndu96081631 chỉ dẫn thì OK

Chân thành cám ơn
Đùng rồi anh à!
Lý do là anh cài add-in vào nhưng lại để lung tung (không cho vào đúng thư mục AddIns của Excel) nên sau này muốn Remove lại... khổ!
Vì thế, với trường hợp của anh chỉ có nước... Search
Rút kinh nghiệm: Các Add-In nên cho vào đúng thư mục AddIns cho dể quản lý
 
Làm thế nào để đọc được nội dung Code

Em thường xuyên làm nghề tư vấn XD, các dự toán khi em lập áp dụng rất nhiều công tác nội suy. Em cũng đã chịu khó đọc VBA nhưng vì chưa có nền tảng tốt, nên đôi khi có những vấn đề em muốn học hỏi mọi người trên diễn đàn từ những ví dụ gần sát với công việc mình làm rất vất vả mới hiểu được. Hôm nọ em có tải được một code mà theo em là tiện lợi, có ích cho công việc, nhưng em không biết đọc nó như thế nào để sửa thành công việc của mình. Mong được mọi giúp đỡ./.
 

File đính kèm

  • CPkhac.rar
    65.9 KB · Đọc: 542
Mình cũng đang thực hiện như hướng dẫn (mình sử dụng Excel 2007) nhưng lúc Save as lại thì phần type ko có Microsft Excel Add-In. như bạn nói. nếu thế thì sẽ chọn type gì?


 
Mình cũng đang thực hiện như hướng dẫn (mình sử dụng Excel 2007) nhưng lúc Save as lại thì phần type ko có Microsft Excel Add-In. như bạn nói. nếu thế thì sẽ chọn type gì?

SAVE AS File Excel 2007 dưới dạng *.xlam, bạn xem kỹ lại nhé:

attachment.php
 

File đính kèm

  • 13-05-2010 4-42-17 PM.jpg
    13-05-2010 4-42-17 PM.jpg
    218 KB · Đọc: 1,274
Web KT
Back
Top Bottom