Bài viết: Dùng Macro 4 để tạo menu

Liên hệ QC

levanduyet

Hãy để gió cuốn đi.
Thành viên danh dự
Tham gia
30/5/06
Bài viết
1,798
Được thích
4,705
Giới tính
Nam
Dùng Macro 4 để tạo menu

Macro 4 tuy ra đời đã lâu nhưng có một số trường hợp nếu chúng ta áp dụng chương trình của chúng ta sẽ nhanh và gọn hơn.

Tài liệu về Macro 4 các bạn có thể tham khảo tại đây.

Tôi xin hướng dẫn các bạn các dùng Macro 4 để tạo menu có dạng như sau:

XDiABDqDq8J5_90DXLDJJlAbR01r8HkzBC7SsQ0IXs1l5fAVPdVv0TIKevBm8gdja2qjgyP9dSLStmLRWGCYHgGcM4ebr2QSIneketuoHq87n7q4mkmh1ofoFNSFO2nlgjMgGdV1lpixxrLh7hxaJnRbk-FAxB0tyOPu2m2oTAu0rsOFTMqFb1Aea4g-EFaJ7G-e-tr2BDur2ToUHUFzmVlME0nEvsyWICnW-aYTIh7r12W1D5A9WBkK-4rr43IpysbNRIlcpXoN7Wj_ULdR9E_HnzSEjpXnz8ebltUsSsyhjbWp4fHDJr8sSQiTM96rS5ctH3lXuJEF4dfUMJaAHAU4E4iwQyN8i9VNATlyiceqrOYft0-6_Ce9XVnslZVYXWXOFiBdPIeE7G_LM7fMZA2q_vFM-Ac4uAZy-Joc_mAr4D-cmpWC9jm4tIJz21k9VpDnxbQXcsrf2Y_uor3tBbohsT0cAZ0L3cL4tZPodKayjm6VArr1bUYYo_ihSPtAl64gUGyY4QrfZ6T0V92i5ikLQDqSkBiUN9Eyx01mnPo3AP4xgtoNxa908jf10BIrNER0XqbfBCMQdWMPuL8pi6QC_LGMEErFPTnSUOJBm8EhBU327B27=w135-h119-no


Đầu tiên các bạn hãy tạo một workbook mới.

Sau đó bạn click phải chuột vào tên của Sheet, chọn Insert...

v7b95HI6tjs6OtkZIZI_8qvvzt1L4vhR7APys9unDu0MUvKE8Aq-hfUvzfzPbPI13apOPkfkYz8GZWMAypMimPCSZgDmmPVVaajDa3LVRNKkYqLA-_z5ieMZblBtsG5R30ALD0nrv6avb_rAgR9faZRY6w8NxviDrfkOM4tIqtkz1jZBqw5nkc8nHibNiVW5lZ7ziXt-r0gftSqbo0Hc6AvcS19wmxnh4G2LDgdHRe1hOf_TnJvenJo7LsOyw5UO_Bl7BJQuMMB2oUY_jLbLVjo6mhnqhCa8SFCepTWB36ysqP5pz_U7DNChQIjxmVqDGgciL8BKfv0KH9nzEtTOSMgCzzDDVukObzIWxWF054b87BzONM8mznnc6SIHxYVzVN1FXaBAaI6L3oAV_UrQe6JoIHqGvb6NvpTEOP4-y3qnh7u2MXMGDoIOyd5Bnskvu04HZ7jRW8SC4qxzTNCyU2uMCqShwgzubbVRVDXWndfIHapAhCaOu1yCOUJx4Zohi4ZNVu13BBho_aIYQSi_8-h0hfN4PaiAWMkYkTbJ1rJFwrTb0Fds7gyvVbNhElXpVfUR3auHtOnsPmeokXNW9mqYf2vguDBzy8SKgW93Vv6I2lcXG4Ay=w143-h228-no


Bạn chọn MS Excel 4.0 Macro

4CwCdC6uEHtRigcYbWRjOWvQzZZONMOXqqO7Gan3474LCk2QTOr_IPkKFVC2EjT2JT1Jd-z97e4h50NgfXmt3-iRtYIcgTvGCmjQUXuthIINN5SbNk9vMwH2xTy43sXosHdHzq0pvEF4rdC7QFM9kJRpyvEXwmKYE6DFWh2tf5Aw6KO_l3YHYH3LSHjmeYu1iGIQ2Zm40fA5m4pZLEhs4h4BcXNUvKO5i_Mj5WZ5IlKSvHkWKUywUZPXqn14sbzd3NZJ7sxjWKbfR2pWbzqelxPdfiyoVuOt2lpjOFMe2e5ZwmRdNeuaUZQqvBKsRgxIOHIvtvMJazjf1zh5_P-dtfoEdLX5rIl6C9DR7JD9xrQDAqxxN2FGzCI-7EsmWOsGkXYElsgbmVmkfpqP8YO_VZRErKNnAFbnTyvQ9fUFYKGVWEdL2XfuTmV8_krprMAiAfFqZGpqIMY-YdWB9puTrDmgffugdydYUOmePW0EkMTUT_f9T9kJEAQaM85FhpQ6hiGFeTblrqqEptGpQzV8m506jdGld1NKAIpdaD0HZOATb1oIkre4rXI5_oVW0hhwQxxkYUEyiB5ec_hb0wY9gCMIbzX-h2TBveX29aEucHSthDASwTdF=w609-h385-no


Bạn sẽ có một sheet Macro1.

RjcMolhQoLNX2-VPTIft5qX_byCBS0PEbsVRu0NfA4obs2dlh5EWlDfgX7Kf5_oTt7sG8eDHMbpPschkWH50KUUMguHMF3Hgm2zOu9UohFX0WKh8DShIf3hQUNFapUDazXMHMksDm1WDMiBNaG-Hj6trAOyLpCt5-nOt2KR84A0Hj4NX4yIfgjPHXCecj95WcPKOhsjPGli92XuqvMYoO7oJeKnvQ0DgAPEFHuylVlu5EkZHGtTBRv_-yx9IZVsxv6G6YxC-t5MbX8RTuxNi_EVKq5-7W77h4xGPSdq_fQn73Y1Vhh6jjxR9FecRwdz4wCpaK4eRerrCfQ8L683w40KlsO5qdmTxkMTX3fDzK7UxIorKrfZ4WDa0i7SdXFBxpFOEotMjN5wP-DZddlAAUFnZS3z_JT6B3R6qug22Jb_IBIagHIaz6-yc48Zz4f48z9P4tzLs-eHFCVVXt6WWmMUVDEP2ZkdA5uknzEdHR7rla3arjgD62kv2k-uJ7ewzdzgmdfBkMcbKGXIXLaEqzAl_4i7s1li05BMB5qS7LDSdqk5g3BkpaBrWlzTqweEJzscbiOfAM-o8jKotxNo1KH2I_AiPs4J7-C6AboYynX0wgFuyO5U7=w565-h215-no


Sau đó các bạn hãy đặt lại tên là Menu

Ở cột 1 chúng ta sẽ đưa vào các đoạn mã để tạo vào xóa menu.
Dữ liệu chúng ta sẽ đưa vào từ cột 4.

Bạn hãy nhập thông tin về tên menu, rồi thủ tục sẽ được thực hiện khi click vào menu này như hình sau.

q9b2IPFX5SGpyXnNmkApOUUwrbbKPEJSWQgudfHAO-eXvBB7D5O2qRNwfWid_OLA5PFegKgr837kWewoSazGrOm9Blo8Y48_5qxfxpwbOsgi1Ja8pLop5-Qb21V-bIiFmLQQXxTE_ii_zwME0fbBtmqqh7wsdKAoYoLN30r2lhrymUy66EHhx3RMzPZB2_8lG2AzkSdbC8tkH_hMdUo3CpKXQfXiKk1xQp8h89hv5ZQpnPLJZKWRXp8hlnT74p6vIm197A0KERWh1fcHsSRRoJi4Dku_I5PmNl34jYGU2T5I0w5CmcT0ykOFuTnFpF-tflO4yrUvlzecYAWXJYwb4ouHhnMyhavTqrEgE2_9ONgTrts3nWiEfuXwSkXIpOZgr_WnY1zlIvB_ItxMupQDl11uYmd3bv8PBXiPbne5o6LO4-BQ5fHCF0MpuXtLSDei641ztPD5h3GRNZ_Cv3mWTtswFPerF8imwvA22Ya7B51V9YOzKiKaFp7nMmTa201KNxh2r6wcYPEvsC1dBeIiXvVBgTYeGb23l8xiFq4OJn-ucYpEUe4LEguYB1-0jDTj42UJG59RiI3JffO5iwNDxo8b6w9rUrOu3ozcy-z2bjW9O3cDMQ44=w348-h181-no


Chúng ta sẽ đặt tên như sau (đánh dấu vùng rồi nhấn tổ hợp phím Ctrl + F3, nhập vào tên):
_ Cột 4 hàng 1 đến cột 5 hàng 6: mymenu (Vùng để tạo menu, hàng đầu tiên sẽ là tên menu, kế đến là caption của menu, cột kế bên sẽ là thủ tục thực hiện khi người dùng nhấn vào.
_ Ô ở cột 4 hàng 1: tenmenu (Tên menu người dùng)

Ở cột đầu tiên ta sẽ nhập vào đoạn mã sau:
Mã:
=ERROR(0)
=ADD.MENU(10,mymenu)
=RETURN()


=ERROR(0)
=DELETE.MENU(10,tenmenu)
=RETURN()

scmZ6B9HRquEUGvIhq1XD-9_0fGtM5SdxWNOAw6C99HMP-065O3qi3mV_Jr55SYB0dOSOa_vgxJ3TRLNc3dkVnA56ip5qnr8UJ_6Ebd8u6jczyLDd8HIO0nlWwvjuJQBakQtgl0UcmgD0jLNivICqbxGerX4mjVuDa1ZRNsQbIqb4uHw3_BkRRRlgCjMr_42RMmirOrgbxiOOh1cSwjmE25iQKxHJKqcxPKcIO1F-XlJc8OxGDA_1is9n_HeQIJ_p8qmL5rujtQtYhyEbeMMxcBkxUcMoCuvjHS9hWqg6eTXmRVcWmaQy5Q-JTL9BZgizSOX-N77aVF-LiwyuFZda8Kt2K-9P4JlePA3AA-K4tOvSmPvTeSCu8E3EhlOoZSzG-DrqiYcQWr0dDVIh1yC5spPZmhNpTlCX6khqTaR0_zm429p8vNdJ93HXg_fnpHBiMCE3mxKzk48zCJ8xpn9Db0PpYaIWjTEPzNzFxO-iTwhT54-uvs4JbDg_YiOQ0NNa4ZsLnXeLU-VSu6YHQApqsKFGr857ayfmPCRCZOImf6YiNUKaIOKn0P1TBRK2Wx4DfAAFBnOrt-Iz1n0Ooo_WLba8avCoIvIhw16gKpNcrnfjtCVB2uf=w238-h204-no


Đến đây các bạn hãy để ý các câu lệnh:
Mã:
=ERROR(0)
Xóa các lỗi xãy ra.

Mã:
=ADD.MENU(10,mymenu)
Thêm vào menu. Bạn chú ý đến việc bố trí của nó như tôi đã trình bày ở trên.

Mã:
=DELETE.MENU(10,tenmenu)
Xóa menu có tên là tenmenu

Mã:
=RETURN()
Kết thúc thực hiện các câu lệnh.

Bây giờ làm sao để thực hiện các đoạn mã ở trên khi workbook mở, hoặc đóng?

Bạn hãy chọn ô 1 hàng 1 và đặt tên là Auto_Open
Có nghĩa là thủ tục này sẽ tự động thực hiện mỗi khi mở workbook này ra.
Chú ý: thủ tục Auto_Open này sẽ thực hiện từ ô này đi xuống đến khi gặp câu lệnh =RETURN()

NwEDoU-HCM01Svqaq9UCnaaIASoxXnKdWOAlMkIKi3rO-7Us77JhvWTaDRrTUtSpg40Jp4zOCoFkuYB9INOpkcRcAv_SIJU8Piu3Wy9HHkXpqKFXP3TOO4j0zxUmrfjELoxm6Hpe4U2uoAEZmvydByo2O3avcLtuBE6gPx0Q2jxapV71MrIC87WEq7RIt-l40vrtLCQWUVoeGEEPHZiCb2dQt2uItviynrymSaVAwfAEUk2ghSbucoHkJTZr-Tjftxd9lxXqlMdK5lUM5FkxzResCF3PSGwCjEUrCKfIqn6pI1IYq9Y-n_ShqXPTQD9daJIJEqAGlJeIkxPjUbx7soBcSdFFfTuj0pzmySyhmGmXwIJAvfTIDl45mWS-0t8nnwSnqUkJAHJMFy-eaFPYU6LP4vbzZiJsTj7jZeZq8syDXcrK6IdMmGLryITKgwxfCW5wKm5m-dlIAnACSEeUEgpQB5bG-7Mlspi3b8UXPyr5N35RMCuVu-gjokSwecwAFIktBFuZccoHGOq7039zCifhSmEN0NLxqIq2TDHH07BoRNZCI6R0DV_5mJjoajHo1WAM7i-Iplg2wYaFynk0Az42AFXrX7buqg1_oaLWu4aDZX0vTSUF=w257-h124-no


Và chọn ô 1 hàng 6 và đặt tên là Auto_Close
Có nghĩa là thủ tục này sẽ tự động thực hiện mỗi khi đóng workbook này lại.

scmZ6B9HRquEUGvIhq1XD-9_0fGtM5SdxWNOAw6C99HMP-065O3qi3mV_Jr55SYB0dOSOa_vgxJ3TRLNc3dkVnA56ip5qnr8UJ_6Ebd8u6jczyLDd8HIO0nlWwvjuJQBakQtgl0UcmgD0jLNivICqbxGerX4mjVuDa1ZRNsQbIqb4uHw3_BkRRRlgCjMr_42RMmirOrgbxiOOh1cSwjmE25iQKxHJKqcxPKcIO1F-XlJc8OxGDA_1is9n_HeQIJ_p8qmL5rujtQtYhyEbeMMxcBkxUcMoCuvjHS9hWqg6eTXmRVcWmaQy5Q-JTL9BZgizSOX-N77aVF-LiwyuFZda8Kt2K-9P4JlePA3AA-K4tOvSmPvTeSCu8E3EhlOoZSzG-DrqiYcQWr0dDVIh1yC5spPZmhNpTlCX6khqTaR0_zm429p8vNdJ93HXg_fnpHBiMCE3mxKzk48zCJ8xpn9Db0PpYaIWjTEPzNzFxO-iTwhT54-uvs4JbDg_YiOQ0NNa4ZsLnXeLU-VSu6YHQApqsKFGr857ayfmPCRCZOImf6YiNUKaIOKn0P1TBRK2Wx4DfAAFBnOrt-Iz1n0Ooo_WLba8avCoIvIhw16gKpNcrnfjtCVB2uf=w238-h204-no


Bây giờ các bạn hãy đặt Password cho Macro Sheet này.

vkZwyY9mJxnE3OWtK0HBafWO1gWIPNUePfVnhwwJlRu-QzyXk0J34hx5waeK9aA3Ml8abtQuIbJ0zPnWe0Q4JKNLfTWFY63mNo4hBn7fjmO8KdRGbqQ3cKXupkgk4SHnHp3qJpOETEKVrrHbctQBp3qvDW8OOWDkCF5PeWIKrCY97JXEdih7MA9fH86pDjjgBzta5_KGLJyC7i9WWRvpiTbWL6OrL9BUkrgx-3mePgvQTAi4t9sR4cZo5nTO0iQLGDm5q5bX6-D0iw404_MNhHc9w-0vPCXUtM3_M6ycPCJvoynW1mqA110F1lPQldapBxjlxg-SUkeog_bRITUGyMzGF8rkB1kGOZFrxB5js7LggDvC_Qv0iQwHVS39KF8lj9gsRVXtHzmNW3CyyNycbrTw-LlL7apSflASJBJ_GnU4nn3_Tm0QURMaiYL611733ECklmc1I1o-73uRUCDkuqdtICfkpvxFw1HBAQzuq2XwWmqV7Ij3f6iPp2DABUNItWwD2uYX-vVsi9IVQRKPC1dFZqV1bFtJOb6zQRyGsMROJWLna-xydzwxYLLN-1EsEKyU-JjLTRUjI22zCLnw8bjOYbgiZBZuDLHMNbs7Z7JCL94dT3NZ=w360-h94-no


Sau đó chúng ta sẽ ẩn Macro Sheet này đi.
Bạn hãy tạo một module cho workbook này (Alt + F11 > Insert > Module)
Rồi nhập vào đoạn mã sau:

Mã:
Sub Dau_Macro4_Sheet()
    ThisWorkbook.Sheets(1).Visible = xlSheetVeryHidden
End Sub
Mục đích của đoạn mã ở trên là ẩn Macro Sheet. Nếu ẩn bằng cách này thì bạn chỉ có thể mở ra bằng code mà thôi, chứ không thể UnHide bằng cách thông thường (tức là Click phải chuột vào Sheet, rồi chọn UnHide).

Chú ý muốn thấy lại được thì bạn phải dùng đoạn mã sau:
Mã:
Sub Hien_Macro4_Sheet()
    ThisWorkbook.Sheets(1).Visible = xlSheetVisible
End Sub

Bây giờ các bạn có thể xóa các đoạn mã này và xóa luôn module này khỏi tập tin của bạn.

Trong cửa sổ VBE của bạn hãy vào Tools> VBAProject Properties...

ZpyXMSp8JE87VzwBOwDrwNpf9G66LhWtJ9XOL4phstLpdernNnjME7JHwfuaHZotxJR9GC4EQLuA1Rap5pJt5gcHfAZaI9n8yzAsyLNmmnyQX8NftyzJrzRHD5LXOjC7B5TRFlCn3Ok7wjRHf-DhEEkIvafwwp6opLhnP6MoO2ppMwoTmGg0F59mcLpzIkzyx78b7bVeOoIXT8TPzAJ4A06D3QKGR1Ys51drqFmCvJMGdrt5c3GsuvvmLpXQLAD5UDktbXEqWANrcNs50qy3iNE0OJcwAoVYXMhh21EhRkdUiLyd7w4rrmTk9cipSLoaw3i82C9Ug-Blp5UdyHqgEYXIizRtQSZbbhMPId8BBKeN6A2hHLG0pLlHhVUTRzPextzPCJnVP7EN9OwNx5hlC2BnVU_VR3BymsAmn7Jv3I_iX_8aD5gpGN0AlOunljarYWaY5aULnOEZwalPhx01OiOse2e3z8F2F26w6X8d0r3InT-hqD5CGCzrN75GObtTdqv3w-Cv589p6ClawhV2ZkgovSb-Hp0_F7FfhZEKb38RSbajjKwCcshND8JGXoua0Vxb5dhdyzoKlaoiqPqZtEC4kvEjmt5R9WKQsAQnBNQV3KGt0MDF=w209-h206-no


Ở Tab: Protection bạn click chọn vào Lock project for viewing
Sau đó nhập vào Password.

XmhA2Udv7e3G5kPflZnCEfsMznEChH-EzgDhUk7t2H58VgA9urqdJIaDwZ9zzCf87zjlicukaTC_0vM7MlzOtC7d2aP7ykFj9stc0b3PFW2F7UoRgQL9SDeU7xcH7vMu9uzsLBa0Su14TuPReVbXqygC906Clr9GfVaxgVYA7vD1C70So4mtcwMhmY1HRd_WY9uo8akHIUAvyuYh0WCbWXtV7aC5K8wM7EUHlNGN_JY4QvnezZBss8YDCeRe-inHsK-msscD-KzHo7AeKZfvVYUtLSCzL4UuwAXLvDOaVw_LoOYAn04Z71Am5G5hlgQJY98sh6cM9I7B9c36IF8JirgDZmvwbpYrcb337Vm1PzqhxnqzGIFGFgsNcwJYqYXNDEp91C9HKkIxIaSM3FbVRSue34EIGf2vDKoCcX50_jRNnucVVOimh7ulru0z100FEyKiSasuKB4xC9TW1eDI1NROgmc7SJ3hah2xk-UhkuOjyx0l2wPuM3EJmRpickz6Zh6y_yf15JKzt2ABabjl-nAYnH_qhEnKBVEuUknvk09Hq5wBjhmOtYXO_2F9hKupFRP5pocKx71pylpDrWx2NsY4xA0EZlXx4cqAQMZuLtj2VU8PJrV7=w428-h385-no


Bây giờ các bạn hãy thử đóng và mở lại tập tin chúng ta vừa tạo xem sao?

Khi người dùng mở ra ở chế độ Enable Macro thì sẽ có một menu hiện ra.

Như vậy chương trình của các bạn xem ra "có vẻ chuyên nghiệp".

Chúc các bạn thành công.

Lê Văn Duyệt

Một số bài viết có liên quan:
1/ Chiêu 38: Thêm dữ liệu vào danh sách Validation một cách tự động
2/ Chiêu 28: Trích xuất dữ liệu số trong 1 chuỗi bằng VBA
3/ Viết code để nhìn thấy ai là người cập nhật bảng tính của bạn lần gần đây nhất
4/ 4 cách sử dụng Immediate Window trong VBA hiệu quả hơn
5/ 3 gợi ý nhỏ mang lại thành công trong khai báo biến trong VBA
6/ Tạm dừng VBA bằng cách sử dụng Wait, Sleep hoặc Vòng lặp
7/ Tổng quan về Scripting.Dictionary
8/ Hiểu biết thêm về phương thức Evaluate - Understanding Evaluate Method
9/ Làm việc với Range
10/ Highlight hàng khi di chuyển chuột
 

File đính kèm

  • MENU_MacroSheet.xls
    27.5 KB · Đọc: 3
  • TaoMenuMacro4.xls
    24 KB · Đọc: 4
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom