Excel vba là gì

Macro là một chuỗi các lệnh mà bạn có thể sử dụng để tự động hóa các tác vụ được sử dụng thường xuyên để tiết kiệm thời gian gõ phím và thao tác chuột. Một Macro có thể được tạo bằng cách sử dụng Visual Basic for Applications (VBA) và được viết bởi người sử dụng.

VBA là gì?

VBA (Visual Basic for Applications) là 1 ngôn ngữ lập trình được tích hợp trong ứng dụng văn phòng như Excel, Word, PowerPoint, … Vì vậy, tất cả các chương trình mà bạn thực hiện trong Excel hoặc trong ứng dụng văn phòng khác đã được thực hiện trong VBA.

Về mặt kỹ thuật, VBA là một ngôn ngữ lập trình hướng sự kiện của Microsoft. VBA cũng được gọi là một ngôn ngữ lập trình mở rộng được tạo thành từ một tập các lệnh cốt lõi và được mở rộng trên cơ sở mỗi ứng dụng để có thể làm việc trực tiếp với các đối tượng trong ứng dụng đó.

Excel VBA là gì?

Visual Basic for Applications (VBA) trong Excel là một ngôn ngữ lập trình nhẹ nhàng, mạnh mẽ cho phép bạn viết các hàm hoặc lệnh của riêng mình trong một bảng tính Excel.

Sử dụng Excel VBA bạn có thể làm hầu như bất kỳ tác vụ nào tương tự trong Excel.

Các đối tượng trong Excel VBA

Excel vba là gì

Ví dụ: dưới đây là một dòng code hoàn chỉnh để gán giá trị 100 cho file “Book1.xlsx”, sheet “Sheet1”, range “A1”.

Chỉ định tên Workbook thao tác là: “Book1.xlsx”

Application.Workbooks("Book1.xlsx")

Worksheets là một thành viên của đối tượng Workbook. Thuộc tính Worksheets() trả về một tập hợp tất cả các sheet của đối tượng Workbook đang được active. Chỉ định tên Worksheet thao tác là: “Sheet1”

Application.Workbooks("Book1.xlsx").Worksheets("Sheet1")

Cuối cùng để trỏ đến Range “A1” của sheet “Sheet1” và gán bằng 100 như sau:

Application.Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1").Value = 100

Điều quan trọng cần lưu ý là mỗi đối tượng có nhiều thành viên khác nhau mà chúng ta có thể sử dụng để tham chiếu đến các đối tượng khác nhau. Ví dụ, các thành viên của đối tượng Worksheet có thể bao gồm: Ranges, PivotTables, Shapes, Charts, ListObjects, vv

Tạo một Macro trong Excel

Với Excel VBA, bạn có thể tự động hóa các tác vụ trong Excel bằng cách viết code macro và gọi nó. Dưới đây là ví dụ cách tạo một macro trong excel đơn giản và thực thi code bằng một button.

Các bước để viết code và run code VBA trong Excel: 1. Bật Developter tab. 2. Save As Excel file thành Excel Macro File (từ excel 2007 trở lên). 3. Viết code VBA. 4. Run code VBA.

1.Bật Developer Tab

Để mở Developter tab thực theo các bước sau:

  1. Mở một file excel.

  2. Click chuột phải vào bất kỳ chỗ nào trong vùng ribbon -> chọn Customize the Ribbon…

    Excel vba là gì

  3. Check vào hộp Developer -> click OK.

    Excel vba là gì

  4. Bạn có thể thấy Developer tab bên cạnh View tab như sau:

    Excel vba là gì

2. Save As Excel file thành Excel Macro File

Để tạo một macro từ excel, bạn cần phải Save As file excel thành tập tin với phần mở rộng có định dạng .xlsm (excel 2007 trở lên) hoặc .xls (excel 2003)

Note: Để tạo một macro từ excel, nếu bạn đang dùng excel 2003 (.xls) thì bạn không phải làm việc này. Nếu bạn dùng excel 2007 (.xlsx) trở lên thì bạn làm theo các bước sau.

  1. Chọn File -> Save As

  2. Chọn kiểu file phần mở rộng .xlsm (hoặc .xls) -> click Save

    Excel vba là gì

  3. Click Ok.

Đến đây là đã tạo được một macro file.

3. Viết code VBA

Dưới đây là các bước để tạo ra một thủ tục trong Excel VBA.

  1. Mở Visual Basic Editor: chọn Vusual Basic hoặc bấm tổ hợp phím Alt + F11.

    Excel vba là gì

  2. Tạo module mới: click chuột phải vào VBAProject -> Insert -> Module.

    Excel vba là gì

  3. Tạo một Sub có tên ClickButton() vào Module1 với nội dung như trong hình.

    Excel vba là gì

4. Run code VBA

Insert button

Tại Developer tab, bạn có thể insert một button như sau:

  1. Chọn Insert -> click vào biểu tượng button trong phần ActiveX Controls (Hoặc kéo thả vào vùng cell của excel.)
    Excel vba là gì
    Excel vba là gì
  2. Click OK, ta được một button như sau:
    Excel vba là gì

Gán thủ tục macro cho button

  1. Chọn Desing Mode.

    Excel vba là gì

  2. Click chuột phải vào “Button1” tạo ở trên -> chọn Assign Macro…

  3. Gán “ClickButton()”(step #3 phần 4.) cho “Button1”.

    Excel vba là gì

Run Click vào button “Button1” cho ra kết quả như sau:

Excel vba là gì

VBA là viết tắt của Visual Basic Editor (hay còn gọi là VBA Editor hay VB Editor). Để tìm hiểu tất tần tật về VBA trong Excel, bạn đọc cùng tham khảo bài viết dưới đây của Taimienphi.vn.

VBA là gì? Tất tần tật về VBA trong exel

1. VBA trong Excel là gì?

VBA excel hay Visual Basic Editor là ứng dụng riêng biệt, được mở bất cứ khi nào người dùng mở một workbook Excel. Mặc định VBA bị ẩn, để truy cập ứng dụng chúng ta sẽ phải kích hoạt nó.

VB Editor là nơi lưu trữ mã VB. Có nhiều cách để lấy mã trong VB Editor:

1. Khi chúng ta tạo một macro, nó sẽ tự động tạo một module mới trong VB Editor và chèn mã vào module đó.

2. Chúng ta có thể nhập mã VB trong VB Editor theo cách thủ công.

3. Sao chép mã từ workbook khác hoặc trên mạng Internet và dán vào VB Editor.

2. Mở VB Editor

Có nhiều cách để mở VBA (Visual Basic Editor) trong Excel:

- Sử dụng phím tắt (cách đơn giản nhất và nhanh nhất).

- Sử dụng tab Developer.

- Sử dụng tab Worksheet.

Dưới đây Taimienphi.vn sẽ đi sâu vào giới thiệu chi tiết từng cách một.

2.1 Sử dụng phím tắt để mở VBA trong Excel

Cách đơn giản nhất và nhanh nhất để mở Visual Basic Editor là sử dụng phím tắt Alt + F11. Sau khi nhấn tổ hợp phím, trên màn hình sẽ hiển thị cửa sổ Visual Basic Editor.

Phím tắt này hoạt động như thanh chuyển đổi, vì vậy chúng ta có thể sử dụng lại phím tắt để trở lại ứng dụng Excel mà không đóng VB Editor.

Phím tắt để mở VBA trên Mac là Opt + F11 hoặc Fn + Opt + F11.

2.2 Sử dụng tab Developer

Để mở Visual Basic Editor từ thanh Ribbon, bạn thực hiện theo các bước dưới đây:

Bước 1: Click chọn tab Developer.

Bước 2: Trong group Code, tìm và click chọn Visual Basic.

2.3 Sử dụng Tab Worksheet

Phương pháp mở VB Editor này ít được sử dụng. Truy cập tab Worksheet bất kỳ, kích chuột phải, chọn View Code.

Phương thức này ngoài mở VB Editor, còn chuyển hướng người dùng đến cửa sổ mã cho đối tượng bảng tính đó.

Điều này hữu ích khi chúng ta muốn viết mã chỉ hoạt động trong bảng tính cụ thể, thường là trường hợp với các sự kiện bảng tính.

3. Cấu tạo Visual Basic Editor trong Excel

Khi mở VB Editor trong lần đầu tiên, có thể bạn sẽ thấy giao diện hơi rối mắt, bao gồm nhiều tùy chọn và các phần khác nhau.

Mặc dù Excel được cải thiện rất nhiều về giao diện thiết kế và các tính năng, tuy nhiên giao diện VB excel không hề thay đổi.

Dưới đây là hình ảnh mô tả các thành phần khác nhau trên VB Editor, Taimienphi.vn sẽ giới thiệu cho bạn chi tiết các phần trong ứng dụng Visual Basic Editor.

3.1 Menu Bar (thanh menu)

Đây là nơi chứa tất cả các tùy chọn mà chúng ta có thể sử dụng trong VB Editor. Tương tự như thanh Ribbon Excel, nơi chứa các tab và các tùy chọn cho từng tab.

Hầu hết các tùy chọn trong VB Editor đều có các phím tắt hiển thị bên cạnh. Nếu sử dụng quen phím tắt sẽ giúp chúng ta thao tác với VB Editor nhanh hơn và dễ dàng hơn.

3.2 Toolbar

Theo mặc định, trong VB Editor bao gồm thanh Toolbar chứa một số tùy chọn hữu ích mà chúng ta hay sử dụng thường xuyên. Giống như thanh Quick Access Toolbar trong Excel, cho phép chúng ta truy cập nhanh một số tùy chọn hữu ích.

Ngoài ra nếu muốn, chúng ta có thể tinh chỉnh thanh toolbar bằng cách xóa hoặc thêm các tùy chọn bằng cách click chọn biểu tượng mũi tên nhỏ hướng xuống nằm ở cuối thanh toolbar.

Trong hầu hết các trường hợp, thanh toolbar mặc định cung cấp các tùy chọn mà người dùng cần khi làm việc với VB Editor.

Nếu muốn di chuyển thanh toolbar lên trên thanh menu, click chọn biểu tượng 3 dấu chấm màu xám ở đầu thanh toolbar và kéo lên trên thanh menu.

Lưu ý: Có 4 thanh toolbar trong VB Editor là Standard, Debug, Edit và User. Để truy cập các thanh toolbar khác, chỉ cần truy cập tùy chọn View và di chuột qua tùy chọn Toolbars.

3.3 Project Explorer

Project Explorer là cửa sổ bên trái hiển thị tất cả các đối tượng hiện đang mở trong Excel.

Khi làm việc với Excel, tất cả workbook hoặc add-in đang mở đều là một project. Và mỗi project này có thể bao gồm bộ sưu tập các đối tượng.

Cho ví dụ, trong ảnh dưới đây, Project Explorer hiển thị 2 workbook đang mở (Book1 và Book2) và các đối tượng trong mỗi Workbook (bảng tính, ThisWorkbook và Module trong Book1).

Có một biểu tượng dấu + ở bên trái các đối tượng mà chúng ta có thể sử dụng để thu gọn danh sách các đối tượng hoặc mở rộng và xem danh sách đầy đủ các đối tượng.

Các đối tượng dưới đây có thể là một phần của Project Explorer:

1. Tất cả Workbook đang mở - trong mỗi workbook (còn được gọi là project), có thể bao gồm các đối tượng dưới đây:

- Đối tượng Worksheet cho mỗi bảng tính trong workbook.

- Đối tượng ThisWorkbook đại diện cho workbook.

- Đối tượng Chartsheet cho mỗi sheet biểu đồ (các biểu đồ này không phổ biến như bảng tính).

- Modules: Đây là nơi mã được tạo bằng cách tạo macro. Chúng ta cũng có thể viết hoặc sao chép - dán mã VBA tại đây.

2. Tất cả Add-in đang mở

Có thể coi Project Explorer là nơi phác thảo tất cả các đối tượng được mở trọng Excel tại thời điểm cụ thể.

Phím tắt để mở Project Explorer là Control + R. Để đóng Project Explorer, chỉ cần click chọn biểu tượng đóng ở góc trên cùng bên phải cửa sổ là xong.

Lưu ý: Đối với các đối tượng trong Project Explorer, có một cửa sổ mã trong đó chúng ta có thể viết mã (sao chép hoặc dán mã). Cửa sổ mã hiển thị khi chúng ta kích đúp chuột vào đối tượng đó.

3.4 Cửa sổ Properties

Cửa sổ Properties là nơi hiển thị các thuộc tính của đối tượng được chọn. Nếu cửa sổ Properties không có sẵn, chúng ta có thể mở bằng cách sử dụng phímF4 (hoặc truy cập tab View => click chọn Properties window).

Cửa sổ Properties là cửa sổ dạng pop-up, chúng ta có thể gắn vào VB Editor. Ngoài ra cửa sổ này cho phép chúng ta có thể thay đổi các thuộc tính của một đối tượng được chọn. Chẳng hạn để làm ẩn bảng tính, chúng ta có thể thay đổi thuộc tính Visible của đối tượng bảng tính được chọn.

3.5 Cửa sổ mã

Cửa sổ mã cho từng đối tượng được liệt kê trong Project Explorer. Chúng ta có thể mở cửa sổ mã cho một đối tượng bằng cách kích đúp chuột vào đối tượng đó trong Project Explorer.

Cửa sổ mã là nơi chúng ta có thể viết mã hoặc sao chép và dán mã từ bên ngoài vào.

Khi tạo một macro, mã của macro đó sẽ truy cập cửa sổ mã của một module. Excel sẽ tự động chèn module để đặt mã trong đó khi tạo macro.

3.6 Cửa sổ Immediate

Cửa sổ Immediate được sử dụng chủ yếu khi gỡ mã lỗi. Chúng ta có thể sử dụng cửa sổ Immediate bằng cách sử dụng lệnh Print.Debug trong mã, sau đó chạy mã. Điều này giúp gỡ mã lỗi và xác định vị trí mã bị lỗi.

Mặc định cửa sổ Immediate không hiển thị trong VB Editor. Để mở cửa sổ, chúng ta sử dụng phím tắt Control + G (hoặc truy cập tab View và click chọn Immediate Windows).

Bài viết Tất tần tật về VBA Excel (Phần 1) trên đây Taimienphi.vn vừa giới thiệu cho bạn về VBA trong Excel là gì cũng như các thành phần cấu tạo VBA. Trong bài viết Tất tần tật về VBA trong Excel (Phần 2) và Tất tần tật về VBA trong Excel Phần 3 Taimienphi.vn sẽ giới thiệu tiếp cho bạn về cách tùy chọn VB Editor như thế nào nhé.

Để tìm hiểu VBA là gì? Cách mở và sử dụng như thế nào? Bạn đọc cùng tham khảo tiếp bài viết Tất tần tật về VBA trong Excel (Phần 1) dưới đây của Taimienphi.vn nhé.

Tất tần tật cách sửa lỗi VBA trong Excel Tìm hiểu FileSystemObject (FSO) trong VBA (Phần 2) Hàm DIR trong VBA (Phần 1) Hàm TRIM trong Excel VBA Sử dụng Autofilter trong VBA (Phần 2) Hàm MsgBox trong VBA