Thông thường, người dùng cần kiểm tra xem một phạm vi được đặt tên có tồn tại hay không để phục vụ cho việc phân tích kinh doanh. Nhìn chung, cách thao tác không khó nhưng đòi hỏi bạn phải có tính logic để biết cách sắp xếp mã VBA. Do đó, bài viết này sẽ giúp bạn kiểm tra phạm vi đã đặt tên bằng Excel VBA chỉ với 2 bước!
Bước 1: Chọn tập dữ liệu
Hãy cùng xem qua ví dụ tập dữ liệu về doanh số bán trái cây hàng tháng của một siêu thị. Tập dữ liệu có 4 cột có tiêu đề, gồm: Items và doanh số của January, February và March (như hình dưới).
Cách thao tác:
1. Chọn Formulas trên thanh công cụ.
2. Chọn Name Manager.
3. Hộp thoại Name Manager sẽ hiển thị. Bạn có thể thấy các phạm vi được đặt tên có sẵn trong sổ làm việc (như hình dưới).
4. Chọn Close.
Bước 2: Chèn mã VBA để kiểm tra phạm vi được đặt tên
Mã VBA sẽ giúp bạn kiểm tra xem một phạm vi được đặt tên có tồn tại trong Excel hay không bằng cách:
1. Giữ phím ALT + F11 trong Excel để mở Microsoft Visual Basic.
2. Chọn Insert > Module.
3. Một cửa sổ mới sẽ mở ra và viết macro VBA sau vào Module. Lưu ý là bạn phải chèn tất cả các phạm vi đã đặt tên mà bạn muốn kiểm tra.
Trong trường hợp này, người dùng chèn 6 tên phạm vi để kiểm tra trong tập dữ liệu (như hình dưới).
Sub VBA_Check_Named_Range()
Dim pckRng As Range
Dim kRangeName(6) As String
Dim bdOt As Long
Dim g As Integer
kRangeName(0) = "Apples"
kRangeName(1) = "Lemons"
kRangeName(2) = "Cherry"
kRangeName(3) = "Bananas"
kRangeName(4) = "Guava"
kRangeName(5) = "Litchi"
kRangeName(6) = "Grapes"
Application.ScreenUpdating = False
For g = 0 To 6
On Error Resume Next
bdOt = Len(ThisWorkbook.Names(kRangeName(g)).Name)
On Error GoTo 0
If bdOt <> 0 Then
Set pckRng = Range(kRangeName(g))
MsgBox "Provided Named Range: '" & kRangeName(g) & "' Found!", vbInformation, "ExcelDemy Publications"
bdOt = 0
Else
MsgBox "Provided Named Range: '" & kRangeName(g) & "' Can Not be Found!", vbInformation, "ExcelDemy Publications"
End If
Next g
Application.ScreenUpdating = True
End Sub
4. Nhấn F5 để chạy mã.
Sau khi nhấn OK, kết quả sẽ hiển thị. Tuy nhiên, để biết một phạm vi được đặt tên có tồn tại hay không, bạn chỉ cần nhấn nút OK mỗi khi hộp thoại xuất hiện.
Hy vọng bài viết này sẽ giúp bạn hiểu được cách kiểm tra phạm vi được đặt tên có tồn tại trong tệp dữ liệu bằng Excel VBA. Để nâng cao khả năng viết code đơn giản, đọc hiểu code phức tạp, áp dụng tự động hóa vào công việc hàng ngày, hãy cân nhắc đến việc tham gia một khóa học VBA. Khóa học Ứng dụng VBA trong Excel tại UniTrain được thiết kế nội dung đào tạo mang tính ứng dụng cao, giúp học viên dễ dàng chuyển hóa kiến thức cơ bản nhất để ứng dụng trong hầu hết các tình huống thực tế.
Xem thêm
Khai giảng khóa học Ứng dụng VBA trong Excel
Bộ tài liệu “Làm chủ Excel và VBA”