VBA Xóa cột | 4 phương pháp hàng đầu để xóa cột Excel bằng VBA

Thông thường trong bảng tính excel chúng ta có hai phương pháp khác nhau để xóa các cột, một là phím tắt và một phương pháp khác bằng cách sử dụng phương pháp nhấp chuột phải và chèn nhưng trong VBA chúng ta phải sử dụng lệnh xóa và câu lệnh toàn bộ cột để xóa bất kỳ cột nào cùng nhau, mẹo để điều này là nếu chúng ta cần xóa một cột duy nhất, chúng tôi cung cấp một tham chiếu cột duy nhất nhưng đối với nhiều cột, chúng tôi cung cấp tham chiếu nhiều cột.

Excel VBA Xóa cột

Chúng tôi thực hiện nhiều hành động trong excel như cắt, sao chép, dán, thêm, xóa, chèn và nhiều hành động như vậy chúng tôi thực hiện một cách thường xuyên. Chúng tôi có thể sử dụng tất cả các hành động này bằng cách sử dụng Mã hóa VBA. Một trong những khái niệm quan trọng mà chúng ta cần học trong VBA là “cột xóa”. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng tùy chọn Xóa Cột này trong VBA.

Xóa cột làm gì trong Excel VBA?

Như tên cho biết nó sẽ xóa cột được chỉ định. Để thực hiện tác vụ này trước tiên chúng ta cần xác định cột nào chúng ta cần xóa. Lựa chọn các cột để xóa là khác nhau giữa các tình huống này, vì vậy chúng tôi sẽ đề cập đến một số tình huống quan trọng và thường gặp phải trong bài viết này.

Xóa các cột rất dễ dàng. Đầu tiên, chúng ta cần sử dụng thuộc tính COLUMNS để chọn cột, vì vậy dưới đây là cú pháp của phương thức Xóa cột trong VBA.

Cột (Tham chiếu cột) .Xóa

Vì vậy, chúng ta có thể tạo mã như sau:

Cột (2). Xóa hoặc Cột (“B”). Xóa

Thao tác này sẽ xóa cột số 2 tức là Cột B.

Nếu chúng ta muốn xóa nhiều cột mà chúng ta không thể nhập cột, chúng ta cần tham chiếu các cột bằng tiêu đề cột tức là bảng chữ cái.

Các cột (“A: D”). Xóa

Thao tác này sẽ xóa cột từ A đến D tức là 4 cột đầu tiên.

Như vậy, chúng ta có thể sử dụng phương pháp "Xóa cột" trong VBA để xóa các cột cụ thể. Trong phần bên dưới chúng ta sẽ xem thêm các ví dụ để hiểu rõ hơn. Đọc tiếp.

Ví dụ về phương pháp xóa cột trong Excel VBA

Dưới đây là các ví dụ để xóa cột bằng VBA.

Ví dụ # 1 - Sử dụng Phương pháp Xóa

Giả sử bạn có biểu dữ liệu giống như bên dưới.

Nếu chúng ta muốn xóa cột tháng "Mar", trước tiên hãy chọn thuộc tính cột.

Mã:

 Cột Sub Delete_Example1 () (Kết thúc Sub 

Đề cập đến số cột hoặc bảng chữ cái. Trong trường hợp này, nó là 3 hoặc C.

Mã:

Cột Sub Delete_Example1 () (3). Kết thúc Sub

Sử dụng phương pháp Xóa.

Lưu ý: bạn sẽ không nhận được danh sách IntelliSense để chọn phương pháp Xóa, chỉ cần nhập “Xóa”,

Mã:

 Sub Delete_Example1 () Cột (3) .Xóa End Sub 

Hoặc bạn có thể nhập địa chỉ cột như thế này.

Mã:

 Sub Delete_Example1 () Cột ("C"). Xóa End Sub 

Chạy Mã này bằng phím F5 hoặc bạn có thể chạy thủ công và xem kết quả.

Cả hai mã sẽ thực hiện cùng một công việc là xóa cột được đề cập.

Nếu chúng ta muốn xóa nhiều cột, chúng ta cần phải đề cập đến chúng trong bảng chữ cái, chúng ta không thể sử dụng số cột ở đây.

Nếu chúng ta muốn xóa các cột từ 2 đến 4, chúng ta có thể chuyển mã như bên dưới.

Mã:

 Sub Delete_Example1 () Cột ("C: D"). Xóa End Sub 

Chạy mã này theo cách thủ công thông qua tùy chọn chạy hoặc nhấn phím F5, thao tác này sẽ xóa các cột “Tháng 2”, “Tháng 3” và “Tháng 4”.

Ví dụ # 2 - Xóa các cột với tên trang tính

Trên đây là tổng quan về cách xóa cột bằng mã VBA. Tuy nhiên, đó không phải là cách xóa cột tốt, mà không đề cập đến tên trang tính, việc xóa cột một cách mù quáng là rất nguy hiểm.

Nếu bạn chưa đề cập đến tên trang tính thì trang tính nào đang hoạt động nó sẽ xóa các cột của trang tính đó.

Đầu tiên, chúng ta cần chọn trang tính theo tên của nó.

Mã:

 Sub Delete_Example2 () Worksheets ("Bảng bán hàng"). Chọn End Sub 

Sau khi chọn sheet chúng ta cần chọn các cột. Chúng ta cũng có thể chọn các cột bằng cách sử dụng đối tượng VBA RANGE.

Mã:

 Sub Delete_Example2 () Worksheets ("Bảng bán hàng"). Chọn Phạm vi ("B: D"). Xóa End Sub 

Thao tác này sẽ xóa các cột từ B đến D của trang tính “Bảng bán hàng”. Đối với mã này, không quan trọng cái nào đang hoạt động, nó sẽ chỉ xóa các cột được đề cập của trang tính đó.

Chúng ta cũng có thể xây dựng mã VBA trong chính dòng đơn.

Mã:

 Sub Delete_Example2 () Worksheets ("Bảng bán hàng"). Phạm vi ("B: D"). Xóa End Sub 

Thao tác này cũng xóa các cột “B đến D” mà không chọn trang tính “Bảng bán hàng”.

Ví dụ # 3 - Xóa các cột trống

Giả sử bạn có dữ liệu có các cột trống thay thế như bên dưới.

Vì vậy, hãy xóa mọi cột thay thế mà chúng ta có thể sử dụng mã bên dưới.

Mã:

 Sub Delete_Example3 () Dim k As Integer For k = 1 to 4 Columns (k + 1) .Xeete Next k End Sub 

Chạy mã này bằng cách sử dụng phím F5 hoặc sau đó theo cách thủ công, nó sẽ xóa tất cả các cột trống thay thế và dữ liệu của chúng ta sẽ trông như thế này.

Lưu ý: Điều này chỉ hoạt động cho các cột trống thay thế.

Ví dụ # 4 - Xóa các cột ô trống

Bây giờ, hãy nhìn vào ví dụ này. Có những tình huống nhất định mà chúng tôi cần xóa toàn bộ cột nếu tìm thấy bất kỳ ô trống nào trong phạm vi dữ liệu. Hãy xem xét dữ liệu dưới đây để làm ví dụ.

Tất cả các ô màu vàng đều trống. Vì vậy, ở đây yêu cầu của tôi là xóa tất cả các cột ô trống. Đoạn mã dưới đây sẽ làm điều đó.

Mã:

 Sub Delete_Example4 () Range ("A1: F9"). Chọn Selection.SpecialCells (xlCellTypeBlanks). Chọn Selection.EntireColumn.Delete End Sub 

Hãy để tôi giải thích từng dòng mã này cho bạn.

Dữ liệu của chúng tôi ở đó từ A1 đến F9, vì vậy trước tiên tôi cần chọn phạm vi đó và mã bên dưới sẽ thực hiện điều đó.

Phạm vi ("A1: F9"). Chọn

Trong phạm vi ô đã chọn này, tôi cần chọn các ô trống. Vì vậy, để chọn ô trống, chúng ta cần thuộc tính ô đặc biệt và trong thuộc tính đó, chúng tôi đã sử dụng loại ô là ô trống.

Selection.SpecialCells (xlCellTypeBlanks) .Select

Tiếp theo, nó sẽ chọn tất cả các ô trống và trong vùng chọn, chúng ta đang xóa toàn bộ cột của vùng chọn.

Selection.EntireColumn.Delete

Vì vậy, kết quả cuối cùng của chúng ta sẽ như thế này.

Bất cứ nơi nào nó tìm thấy ô trống, nó sẽ xóa những ô trống đó toàn bộ cột.

Bạn có thể tải xuống Excel VBA Delete Column này tại đây - VBA Delete Column Template


$config[zx-auto] not found$config[zx-overlay] not found