Khi làm việc với tập dữ liệu khổng lồ và một mớ công thức phức tạp thì nhân sự nên đặt tên cho phạm vi trong Excel để giúp bạn gọi tên một phạm vi nhanh chóng hơn so với việc sử dụng tham chiếu. Tuy nhiên, trong một số trường hợp, bạn không cần dùng phạm vi được đặt tên nữa, thì phải làm thế nào? Bài viết này sẽ hướng dẫn bạn cách xóa phạm vi được đặt tên bằng VBA Excel qua 2 ví dụ cụ thể.

Giả sử có tập dữ liệu về Inventory List của Công nghệ ABC, gồm: Product ID ở cột B, Product Names ở cột C, Units Remaining ở cột D (như hình dưới).

Dataset to delete named range using VBA in Excel

Nếu nhấp vào mũi tên thả xuống trong Name Box, bạn sẽ thấy hai phạm vi được đặt tên có sẵn – là IDUnits (như hình dưới).

Two named ranges in the Name Box

Xóa tất cả các dãy đã đặt tên khỏi Workbook

Người dùng sẽ xóa tất cả các phạm vi đã đặt tên khỏi Workbook bằng cách sử dụng mã VBA. Nếu chọn các ô trong phạm vi B4: B14, bạn sẽ thấy ID  được hiển thị trong Name Box (như hình dưới). Thực tế, đó là tên của phạm vi ô này.

ID named range in Excel

Tương tự, phạm vi D4:D14 được đặt tên là Units.

Units named range in Excel

Để xóa các phạm vi được đặt tên khỏi Workbook, bạn cần thao tác:

Bước 1: Chọn Developer > Visual Basic trong nhóm Code.

visual basic on the developer tab

Bước 2: Khi cửa sổ Microsoft Visual Basic for Applications hiển thị, chọn Insert > Module.

inserting module in VBA editor in excel

Bước 3: Chèn mã.

Option Explicit
Sub delete_all()
Dim wb As Workbook
Dim named_range As Name
Set wb = ActiveWorkbook
For Each named_range In wb.Names
named_range.Delete
Next named_range
End Sub

VBA code to delete named range in Excel

Bước 4: Chọn biểu tượng Run hoặc nhấn F5 để chạy mã.

Executing code

Sau đó, bạn chọn lại phạm vi ô B4:B14 và sẽ thấy tên ID đã bị xóa.

named range deleted using VBA in Excel

Xóa phạm vi được đặt tên khỏi Worksheet cụ thể

Cách thao tác xóa phạm vi được đặt tên khỏi một Worksheet cụ thể cũng tương tự như xóa phạm vi khỏi toàn bộ Workbook ở phần 1. Hãy thực hiện các bước sau:

Bước 1: Chọn Developer > Visual Basic trong nhóm Code.

visual basic on the developer tab

Bước 2: Khi cửa sổ Microsoft Visual Basic for Applications hiển thị, chọn Insert > Module.

inserting module in VBA editor in excel

Bước 3: Chèn mã.

Sub delete_worksheet()
Dim named_range As Name
For Each named_range In ActiveWorkbook.Names
If named_range.RefersToRange.Parent.Name = "Sheet3" Then named_range.Delete
Next named_range
End Subv

VBA code to delete named range from specific sheet in excel

Bước 4: Chọn biểu tượng Run hoặc nhấn F5 để chạy mã. Sau đó, kết quả sẽ hiển thị như hình dưới:

Removing Named Range from Particular Worksheet in Excel

Xem thêm

Khóa học Ứng dụng VBA trong Excel

Cách kiểm tra phạm vi tên bằng Excel VBA

Cách ẩn thanh công thức bằng  Excel VBA

Cách đánh giá chuỗi dưới dạng mã bằng Excel VBA

Tags