Làm cách nào để thêm VBA trong MS Office?


21

Tuy nhiên, tôi đã thấy các bài đăng hiển thị câu trả lời sử dụng mã / macro VBA ( Visual Basic cho Ứng dụng ), tuy nhiên, tôi cũng đã lưu ý các nhận xét bổ sung sau đó về cách sử dụng VBA (cách triển khai và thực thi nó). Tôi hy vọng điều này sẽ giúp chỉ để thực thi mã.

Vì vậy, câu hỏi của tôi là:

Tôi có một số mã VBA. Làm cách nào để thêm VBA vào dự án MS Excel hoặc Word hoặc Outlook của tôi?


1
Tôi đang cố gắng tạo ra một câu hỏi kinh điển. Vui lòng thêm bất kỳ câu hỏi nào khác mà tôi có thể tham khảo / chúng tôi có thể đóng, thêm thẻ hoặc chỉnh sửa câu hỏi hoặc câu trả lời để cải thiện câu hỏi hoặc đăng câu trả lời.
Dave

Liên quan: superuser.com/q/794590/346288 - "khởi động" đơn giản để gỡ lỗi mã VBA.
Hannu

Câu trả lời:


19

Để mở trình soạn thảo VBA trong mọi sản phẩm Microsoft Office 1 , hãy bấm Alt+ F11.

Tiếp theo, bạn cần xác định cách bạn muốn triển khai VBA của mình. Bạn có muốn nó được kích hoạt bởi một số sự kiện trong phần mềm, chẳng hạn như tệp được lưu hoặc lựa chọn trên bảng tính bị thay đổi không? Hay bạn muốn có thể tự thực thi mã bất cứ khi nào bạn muốn?

Nếu trước đây, hãy xem Project Explorer và tìm dự án được liên kết với tệp bạn hiện đang làm việc.

Nếu bạn muốn mã của mình được kích hoạt bởi một sự kiện được liên kết với một trang cụ thể (ví dụ: mã sẽ chạy mỗi khi giá trị thay đổi trên Trang tính 1), bạn nên bấm đúp vào đối tượng trang cụ thể được liệt kê trong Project Explorer. Điều này sẽ mở một hộp văn bản nơi bạn có thể dán mã. Nếu sự kiện được liên kết với toàn bộ sổ làm việc thay vì một trang cụ thể (ví dụ: mã sẽ chạy khi sổ làm việc được lưu), bấm đúp vào ThisWorkbookđối tượng trong Project Explorer.

Tuy nhiên, nếu bạn không muốn mã của mình được kích hoạt bởi một sự kiện, bạn sẽ muốn đặt mã trong một mô-đun. Nếu có mã khác trong tài liệu hoặc sổ làm việc, giả sử từ một macro được ghi, nó sẽ xuất hiện trong một mô-đun. Nếu có một mô-đun hiện có, trong hầu hết các trường hợp, bạn sẽ muốn dán mã của mình vào cùng một mô-đun bên dưới bất kỳ mã hiện có nào. Các mô-đun hiện có sẽ được liệt kê trong Project Explorer.

Nếu không có mô-đun tồn tại, bạn sẽ cần phải chèn một mô-đun mới. Để thực hiện việc này, chọn Moduletừ Insertmenu thả xuống trong cửa sổ trình soạn thảo VBA. Điều này sẽ chèn một mô-đun mới và hiển thị một cửa sổ văn bản bên trong cửa sổ soạn thảo. Dán mã của bạn ở đó.

Nếu bạn muốn thực thi mã trong một mô-đun, bạn có một vài tùy chọn. Một là chạy mã từ cửa sổ soạn thảo VBA. Bạn có thể chỉ cần đặt con trỏ ở đâu đó trong mã bạn muốn chạy và nhấn F5hoặc nhấp vào nút Chơi trò chơi biểu tượng - tam giác màu xanh lá cây chỉ về bên phải(Chạy) trên thanh công cụ bên dưới thanh menu để thực thi mã.

Một tùy chọn khác là sử dụng Macroshộp thoại. Để mở nó, hãy thực hiện một trong các thao tác sau:

  • trên Viewtab của dải băng, trong Macroskhung (ngoài cùng bên phải), nhấp vào Macrosnút
  • trên Developertab, trong Codekhung (ngoài cùng bên trái), nhấp vào Macrosnút
  • nhấn Alt+F8

Hộp thoại trông như thế này:

nhập mô tả hình ảnh ở đây

Trong ví dụ trên, bạn có thể chạy YourCodebằng

  • chọn nó từ danh sách và sau đó nhấp vào Run, hoặc
  • chọn nó từ danh sách và nhấp đúp vào nó.

______
1 Theo Tôi có thể sử dụng VBA trong Excel 2010 Starter Edition không? , bạn không thể sử dụng VBA trong Excel 2010 Starter Edition.


4

Các bước này được thực hiện bằng Office 2010 (trừ khi có ghi chú khác) nhưng cũng đủ tương tự cho năm 2007 và 2013. Tôi đang làm điều đó với Excel nhưng sự khác biệt phải thật tinh tế.

Bước đầu tiên là thêm tab Nhà phát triển vào ruy-băng.

Trong văn phòng 2007,

  1. Nhấp vào Menu Office Office Chế độ -> Tùy chọn (Chương trình) Tùy chọn (Menu Office Office Chỉ đề cập đến Nút văn phòngnút ở góc trên cùng bên trái.) Thao tác này sẽ hiển thị một menu có tùy chọn Excel Excel Tùy chọn, Word Word Tùy chọn, v.v., ở phía dưới.

  2. Trong hộp thoại tùy chọn, hãy chọn tab Hiển thị Nhà phát triển trong Ribbon Ribbon: Menu văn phòng và nhấp vào OK OK.

  3. Tab Nhà phát triển mới của bạn sẽ được hiển thị.

Trong Văn phòng 2010 và 2013,

  1. Bấm vào Tệp -> Tùy chọn .

  2. Chọn Tùy chỉnh Ribbon .

  3. Ở bên phải, tìm Nhà phát triển và chọn hộp. Nhấn OK .

  4. Tab mới của bạn sẽ được hiển thị, nhấp vào nó và sau đó nhấp vào Visual Basic .

Một màn hình đáng sợ được hiển thị, đó là cửa sổ chỉnh sửa mã VBA.

Lưu ý bên lề : Bạn cũng có thể mở cửa sổ chỉnh sửa mã VBA bằng cách sử dụng phím tắt Alt+ F11bàn phím (ngay cả khi tab Nhà phát triển không hiển thị).

Trong cửa sổ chỉnh sửa mã, ở phía bên trái, bạn sẽ có một khung có tên Project-VBAProject. Trong phần này, trong Đối tượng Microsoft Excel (tên này khác nhau tùy thuộc vào chương trình nào (Word, Outlook, v.v.) bạn đang sử dụng) là một 'thứ' được gọi là ThisWorkbook. Nhấp đúp chuột vào ThisWorkbook

Trong ví dụ này, chúng tôi sẽ sử dụng mã sau đây.

sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 

Tất cả những điều trên là hiển thị mở một hộp thoại để hiển thị một thông báo trên màn hình.

Sao chép mã và dán mã vào bảng trắng trong cửa sổ chỉnh sửa mã VBA.

Bây giờ, ở đầu cửa sổ soạn thảo mã VBA, nhấp vào nút phát màu xanh lá cây và bạn sẽ thấy một thông báo.

Vì vậy, mỗi khi bạn muốn chạy mã, hãy quay lại màn hình này và nhấn play!

Tuy nhiên, bạn có thể thích thêm nút riêng của mình. Nếu bạn muốn thêm một nút sau đó, trước tiên, hãy lưu ý dòng đầu tiên của mã có WarnMeOfDanger(). Đây thực sự là tên của ' chương trình con ' của chúng tôi . Chúng ta sẽ nhớ điều này sau. Bây giờ, chỉ cần đóng Cửa sổ bạn đang sử dụng (mã được lưu tự động).

Vẫn trong ruy-băng Nhà phát triển, bấm vào Chèn và chọn mục đầu tiên, đó là một nút. Con trỏ chuột của bạn trở thành một chữ thập nhỏ (không tức giận, ý tôi là sự xuất hiện của nó). Vẽ kích thước của nút. Một cửa sổ mới xuất hiện và nó sẽ hiển thị cho chúng ta tùy chọn gán nút cho một chức năng. Trong trường hợp này, chúng ta sẽ thấy một cái gì đó như ThisWorkbook.WarnMeOfDanger. Bấm vào đây và bấm OK .

Bây giờ, nếu bạn nhấn nút mới, thông báo sẽ hiển thị. Nhấp chuột phải vào nút để có các tùy chọn để di chuyển nó, thay đổi văn bản, thay đổi kích thước, v.v.


Câu hỏi và trả lời của cùng một người? Lạ .......
Prasanna

2
@Prasanna, khi bạn đặt câu hỏi, bạn có tùy chọn trả lời ngay. Hãy nhớ rằng, đó là một trang web Hỏi & Đáp, miễn là nó có liên quan và hữu ích, tôi nghĩ nó được chấp nhận. Có một vài trong số này xung quanh.
Dave

Tôi đã không biết điều đó cho đến bây giờ. Cảm ơn thông tin
Prasanna

2
Bạn có thể thay thế một số bước đầu tiên để truy cập cửa sổ mã bằng một "Alt + F11" đơn giản. :)
cʜιᴇ007

@ Cʜιᴇ007, vui lòng chỉnh sửa đi :) +1
Dave
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.