22 câu hỏi và câu trả lời phỏng vấn VBA hàng đầu (2025)
Dưới đây là các câu hỏi và câu trả lời phỏng vấn VBA dành cho những ứng viên mới ra trường cũng như có nhiều kinh nghiệm để có được công việc mơ ước của họ.
Câu hỏi và câu trả lời phỏng vấn VBA Excel dành cho người mới bắt đầu
1) Giải thích VBA hoặc Visual Basic cho Ứng dụng là gì?
VBA là viết tắt của Visual Basic cho Ứng dụng; nó là một ngôn ngữ lập trình hướng sự kiện được phát triển bởi Microsoft. Nó chủ yếu được sử dụng với Microsoft các ứng dụng văn phòng như MS-word, MS-Access và MS-Excel.
2) Đề cập đến nơi bạn có thể viết chương trình VBA cho Macro?
Mô-đun là nơi bạn có thể viết chương trình VBA cho Macro, để chèn Mô-đun điều hướng đến Chèn ->Mô-đun
👉 Tải xuống bản PDF miễn phí: Câu hỏi và trả lời phỏng vấn VBA
3) Hãy nêu phong cách bình luận được sử dụng trong VBA là gì?
Nhận xét được sử dụng để ghi lại logic chương trình và thông tin người dùng để các lập trình viên khác có thể làm việc liền mạch trên cùng một mã trong tương lai. Chủ yếu có hai phương pháp trong VBA để thể hiện nhận xét.
- Bất kỳ tuyên bố nào bắt đầu bằng một trích dẫn đều được coi là nhận xét
- Hoặc bạn có thể sử dụng câu lệnh REM thay vì dấu nháy đơn (')
4) Trong VBA khai báo biến và hằng như thế nào?
Trong VBA, biến có thể được khai báo bằng từ khóa “DIM” trong khi hằng được khai báo bằng từ khóa “Const”.
5) Các kiểu dữ liệu trong VBA là gì?
Các kiểu dữ liệu trong VBA được phân thành hai loại
Kiểu dữ liệu số | Kiểu dữ liệu không phải số |
---|---|
byte | Chuỗi (độ dài cố định) |
Số nguyên | Chuỗi (độ dài thay đổi) |
dài | Ngày |
Độc thân | Boolean |
Double | Đối tượng |
Tiền tệ | Biến thể (số) |
Số Thập Phân | Biến thể (văn bản) |
6) Giải thích ADO, ODBC và OLEDB là gì?
thiếu niên: Đối tượng dữ liệu ActiveX hoặc ADO là khung truy cập dữ liệu phổ quát bao gồm chức năng của DAO
ODBC: Kết nối cơ sở dữ liệu mở hay ODBC là công nghệ cho phép ứng dụng khách cơ sở dữ liệu kết nối với cơ sở dữ liệu bên ngoài
OLEDB: Đây là giao diện lập trình cấp thấp được thiết kế để truy cập nhiều loại liên kết và nhúng đối tượng truy cập dữ liệu (OLE)
7) Giải thích về con trỏ hàm trong VBA?
VBA (Thông tin cơ bản trực quan) có các ứng dụng linh hoạt nhưng có hạn chế đối với con trỏ hàm trong VBA. Windows API chưa hỗ trợ đầy đủ cho con trỏ hàm vì nó có khả năng sử dụng hàm nhưng không hỗ trợ chức năng gọi lại hàm. Nó có hỗ trợ sẵn cho cuộc gọi nhưng không hỗ trợ gọi lại.
8) Giải thích cách thực hiện “đếm tham chiếu” trong VBA?
Trong VBA, ngay khi một biến vượt ra khỏi phạm vi, bộ đếm tham chiếu trên đối tượng tham chiếu sẽ giảm đi. Khi bạn gán tham chiếu đối tượng cho một biến khác, bộ đếm tham chiếu sẽ tăng lên. Trong khi khi số tham chiếu của bạn đạt đến 0 thì sự kiện sẽ kết thúc.
9) Làm thế nào bạn có thể giảm bộ đếm tham chiếu một cách rõ ràng?
Để giảm bộ đếm tham chiếu một cách rõ ràng, bạn cần đặt một biến thành “Không có gì”.
10) Giải thích đối tượng COM (Component Object Model) trong VBA là gì?
Đối tượng COM thường là các tệp .dll và là các chương trình thực thi được biên dịch.
Câu hỏi và câu trả lời phỏng vấn Excel VBA dành cho người có kinh nghiệm
11) Giải thích cách quay số điện thoại thông qua VBA?
Để quay số điện thoại thông qua VBA, bạn cần thực hiện theo các bước sau
- Lệnh Shell trong VBA có thể được sử dụng để khởi động trình quay số có trong Windows Hệ điều hành
- Để kết nối với modem, có thể sử dụng số điện thoại
- Với sự trợ giúp của phím gửi và lệnh shell, bạn có thể quay số tới người dùng của mình
- Sendkey ra lệnh cho các cửa sổ quay số theo các phím bấm của ứng dụng trong khi Shell kích hoạt Windows ứng dụng
- Có thể sử dụng macro để khởi chạy chương trình tệp thẻ kích hoạt tính năng quay số tự động
12) Giải thích ý nghĩa của “Option Explicit” là gì? Nó nên được sử dụng ở đâu?
“Option Explicit” khiến việc khai báo các biến là bắt buộc. Hàm rõ ràng dòng giúp trình biên dịch xác định tất cả các biến không được khai báo bởi câu lệnh dim. Lệnh này làm giảm đáng kể vấn đề lỗi loại. Nó được sử dụng trong VBA vì nó xử lý các ứng dụng giàu thông tin trong đó thường gặp các lỗi về loại. Trước khi bắt đầu bất kỳ thủ tục phụ nào, nó có thể được sử dụng bên trong một mô-đun.
13) Giải thích cách truyền đối số cho hàm VBA?
Khi các đối số được truyền vào các hàm VBA, chúng có thể được truyền theo hai cách
- ByVal: Khi đối số được truyền bằng Giá trị, điều đó có nghĩa là chỉ có giá trị được truyền cho thủ tục và mọi thay đổi được thực hiện đối với đối số bên trong thủ tục sẽ bị mất khi thoát khỏi thủ tục
- Theo giới thiệu: Khi đối số được truyền theo tham chiếu thì địa chỉ thực của đối số sẽ được truyền cho thủ tục. Mọi thay đổi được thực hiện đối với đối số bên trong thủ tục sẽ được gọi lại khi thoát thủ tục
14) Hãy nêu phương thức được gọi từ đối tượng ObjectContext để thông báo cho MTS rằng giao dịch không thành công hay thành công?
hủy bỏ và thiết lập hoàn tất phương thức được gọi từ đối tượng ObjectContext để thông báo cho MTS rằng giao dịch không thành công hoặc không thành công
15) Mã để tìm Hàng được sử dụng lần cuối trong một cột hoặc Cột được sử dụng lần cuối trong một hàng là gì?
Để tìm hàng cuối cùng trong một cột, lệnh được sử dụng là End(xlUp) và để tìm cột cuối cùng trong một hàng, lệnh được sử dụng là End(xlToLeft).
16) Hãy nêu sự khác biệt giữa Chương trình con và Hàm trong VBA?
Sự khác biệt giữa Chương trình con và Hàm là ở chỗ
- Các chương trình con không bao giờ trả về một giá trị, nhưng các hàm sẽ trả về giá trị
- Các chương trình con có thể thay đổi giá trị của các đối số thực tế trong khi hàm không thể thay đổi giá trị của các đối số thực tế
17) Giải thích sự khác biệt giữa thuộc tính CurrentRegion và usedRange là gì?
- Khu vực hiện tại: Vùng hiện tại là một phạm vi được giới hạn bởi bất kỳ sự kết hợp nào của các cột và hàng trống
- Phạm vi sử dụng: Thuộc tính này được sử dụng để chọn phạm vi ô được sử dụng trên trang tính. Nó trả về một đối tượng Phạm vi đại diện cho phạm vi được sử dụng trên bảng tính cụ thể
18) Giải thích cách gỡ lỗi mã VBA?
Để gỡ lỗi mã VBA, hãy làm theo các bước
- Sử dụng điểm dừng (F9)
- Thực hiện từng bước (F8)
- In & Cửa sổ ngay lập tức và Xem cửa sổ
19) Làm thế nào bạn có thể dừng tập lệnh VBA khi nó đi vào vòng lặp vô hạn?
Bằng cách nhấn Cntrl+ Pause Break
phím người ta có thể dừng tập lệnh VBA khi nó đi vào vòng lặp vô hạn.
20) Đề cập đến thuộc tính nào của menu không thể được đặt trong thời gian chạy?
Khi chạy thuộc tính Tên của menu không thể được đặt.
21) Cho biết VBA có cấu trúc từ điển không?
Có, VBA có cấu trúc từ điển. Bạn có thể đặt tham chiếu đến từ điển như
- Đặt dict = CreateObject(“Scripting.Dictionary”)
- HOẶC Dim dict là New Scripting.Dictionary
22) Đề cập đến cách bạn có thể nhận xét và bỏ ghi chú các khối mã trong trình soạn thảo VBA văn phòng?
Trong trình soạn thảo VBA của Office, bạn có thể bình luận và bỏ bình luận các khối mã bằng cách làm theo các bước sau
- Trong trình soạn thảo VBA, đi tới Xem -> Thanh công cụ -> Tùy chỉnh… HOẶC nhấp chuột phải vào thanh công cụ và chọn Tùy chỉnh
- Chọn menu chỉnh sửa ở bên trái, trong tab lệnh
- Khi cuộn xuống, bạn có thể thấy hai biểu tượng là “Khối nhận xét” và “Bỏ ghi chú”.
- Khi bạn kéo và thả chúng vào thanh công cụ, bạn sẽ có quyền truy cập dễ dàng để đánh dấu một khối mã và thực hiện hành động trên đó
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn