Hướng Dẫn Từng Bước Các Câu Lệnh Macro Trong Excel Bằng Vba, (Pdf) Sách Lập Trình Excel Bằng Vba

Cách tạo Macro trong Excel

Với VBA trong Excel, bạn có thể tự động hóa các tác vụ bằng cách viết cái gọi là macro. Trong phần đầu của bài viết này, hãy cùng lingocard.vn tìm hiểu cách tạo một macro đơn giản sẽ được thực thi sau khi kích vào nút lệnh. Bắt đầu bằng cách bật thẻ nhà phát triển Developer. 

Developer Tab

Để bật tab Developer bạn hãy thực hiện theo các bước sau: 

Bước 1: Kích chuột phải vào bất kỳ vị trí nào trên giao diện ribbon của Excel rồi chọn tùy chọn Customize the Ribbon … trong menu xổ xuống. 

*

Bước 2: Trong cửa sổ mới hiện thị, chọn tùy chọn Main Tabs phía dưới mục Customize the Ribbon ở bên phải (nếu cần).

Đang xem: Các câu lệnh macro trong excel

Bước 3: Di chuyển xuống phía dưới của mục Main Tabs, kích vào tùy chọn Developer.

*

Bước 4: Bấm nút OK để hoàn tất.

Bước 5: Quay trở lại giao diện ribbon, bạn sẽ tìm thấy thẻ Developer bên cạnh tab View như hình dưới đây.

*

Nút lệnh

Để đặt một nút lệnh trên file Excel của bạn, hãy thực hiện các bước sau.

Bước 1: Trên tab Developer bấm nút Insert. 

Bước 2: Trong nhóm ActiveX Controls của menu xổ xuống, bấm nút Command Button.

*

Bước 3: Kích giữ chuột trái và kéo để tạo một nút lệnh trên sheets bất kỳ trong file Excel, nơi bạn muốn đặt nút lệnh.

Chỉ định Macro

Để gán macro (một hoặc nhiều dòng mã) cho nút lệnh, hãy thực hiện các bước sau.

Bước 1: Kích chuột phải vào nút CommandButton1 (đảm bảo nút Design Mode được chọn).

Bước 2: Chọn tùy chọn View Code trong menu xổ xuống. Trình soạn thảo Visual Basic xuất hiện.

*

Bước 3: Đặt con trỏ của bạn giữa Private Sub CommandButton1_Click() và End Sub.

Bước 4: Nhập vào dòng mã hiển thị như bên dưới.

Xem thêm: Hướng Dẫn Cách Lập Kênh Youtube Trên Máy Tính, Cách Tạo Kênh Youtube, Tạo Kênh Youtube Kiếm Tiền

Range(“A1”).Value = “lingocard.vn xin chào các bạn”

Lưu ý: Cửa sổ bên trái có tên là Sheet1 (Sheet1) và ThisWorkbook được gọi là Project Explorer. Nếu Project Explorer không hiển thị, hãy bấm View, Project Explorer. Nếu cửa sổ Code cho Sheet1không hiển thị, hãy bấm Sheet1 (Sheet1). 

Bước 5: Đóng cửa sổ Visual Basic Editor.

Bước 6: Kích vào nút lệnh trên trang tính (đảm bảo nút Design Mode được bỏ chọn).

Kết quả sẽ hiển thị như hình dưới đây:

*

Như vậy bạn vừa tạo một macro đơn giản trong Excel.

Trình soạn thảo Visual Basic Editor

Để mở trình soạn thảo Visual Basic Editor, trên tab Developer, bấm nút Visual Basic hoặc nhấn tổ hợp phím Alt+F11.

*

Cửa sổ trình soạn thảo Visual Basic Editor sẽ hiển thị như hình dưới đây.

MsgBox trong Excel

Để tăng tính tương tác cho bảng tính Excel có sử dụng VBA của bạn, cụ thể trong trường hợp bạn muốn đưa ra một thông báo, một lưu ý cho người dùng, chúng ta dùng MsgBox trong Excel VBA.

MsgBox là một hộp thoại trong Excel có sử dụng VBA. Mục đích của việc tạp hộp thoại này là đưa ra một thông báo cho người dùng. Một MsgBox trong Excel VBA có thể được tạo ra trong trình soạn thảo code VBA của Excel như sau:

Một tin nhắn đơn giản

Bằng cách thực hiện các bước tương tự như mục Chỉ định macro ở trên, nhưng đến bước 3 thì bạn nhập vào mã sau: 

MsgBox “Học tin học với lingocard.vn thật thú vị”

Lưu ý: Đoạn mã trên phải được nhập vào giữa dòng Private Sub CommandButton1_Click () và End Sub. Có nghĩa mã đầy đủ sẽ như sau:

Private Sub CommandButton1_Click ()  MsgBox “Hoc tin hoc voi lingocard.vn that thu vi”End Sub

Sau đó đóng cửa sổ Visual Basic Editor và bấm vào nút lệnh để chạy đoạn code trên trong Excel VBA, chúng ta sẽ nhận được kết quả như sau:

*

Một tin nhắn nâng cao hơn một chút

Thay vì đưa ra một thông báo đơn giản như trên bạn có thể tạo một thông báo kiểu như yêu cầu nhập một số vào ô A1. Lúc này mã chính sẽ như sau: 

MsgBox “Entered value is ” & Range(“A1”).Value

Khi bạn bấm vào nút lệnh trong Excel VBA sẽ nhận được kết quả như sau:

*

Lưu ý: Trong câu lệnh trên lingocard.vn đã sử dụng toán tử & để nối (nối) hai chuỗi. Mặc dù giá trị Range (“A1”). Không phải là một chuỗi, nhưng nó vẫn hoạt động ở đây.

Để bắt đầu một dòng mới trong tin nhắn, hãy sử dụng vbNewLine

Sử dụng đoạn mã sau

MsgBox “Line 1” & vbNewLine & “Line 2”

Khi bạn bấm vào nút lệnh trong Excel VBA sẽ nhận được kết quả như sau

*

Lưu ý: Những đoạn mã chỉ có mình phần mã chính. Bạn phải nhập các đoạn mã đó nằm giữa Private Sub CommandButton1_Click() và End Sub để có được một mã VBA hoàn chỉnh.

Đối tượng Workbook và Worksheet

Phần tiếp theo lingocard.vn sẽ cùng các bạn tìm hiểu thêm về đối tượng Workbook và Worksheet trong Excel VBA .

Cấu trúc phân cấp đối tượng

Trong Excel VBA, một đối tượng có thể chứa một đối tượng khác và đối tượng đó có thể chứa một đối tượng khác … Nói cách khác, lập trình VBA trong Excel liên quan đến việc làm việc với một hệ thống phân cấp đối tượng. Điều này nghe có vẻ khá khó hiểu, nhưng chúng tôi sẽ nói rõ.

Xem thêm: #1 Khóa Học Nail Đi Nước Ngoài Bạn Cần Biết, Cấp Bằng Nail Quốc Tế

“Mẹ” của tất cả các đối tượng là chính Excel. Chúng tôi gọi nó là đối tượng Ứng dụng (Application). Đối tượng ứng dụng chứa các đối tượng khác. Ví dụ, đối tượng Workbook (tệp Excel). Đây có thể là bất kỳ workbook nào bạn đã tạo. Đối tượng Workbook chứa các đối tượng khác, chẳng hạn như đối tượng Worksheet. Đối tượng Worksheet lại chứa các đối tượng khác, chẳng hạn như đối tượng Phạm vi (Range object).

Ở phần tạo Macro đầu tiên trong bài này đã hướng dẫn chi tiết về cách chạy một mã VBA bằng cách bám vào nút lệnh. Trong đó chúng tôi đã sử dụng dòng mã sau:

Range(“A1”).Value = “Hello”

Nhưng ý nghĩa của dòng mã trên thực sự là:

Application.Workbooks(“create-a-macro”).Worksheets(1).Range(“A1”).Value = “Hello”

Xem thêm bài viết thuộc chuyên mục: Excel