VBA Ẩn các cột | Làm thế nào để ẩn các cột bằng cách sử dụng mã VBA?

Excel VBA Ẩn các cột

Ẩn là điều đơn giản nhưng bạn cần hiểu khái niệm ở đây. Để ẩn cột bằng VBA, chúng ta cần xác định cột nào chúng ta cần ẩn. Để chỉ định cột bị ẩn, chúng ta cần sử dụng đối tượng RANGE.

Phạm vi ("A: A")

Sau đó, chúng ta cần sử dụng Thuộc tính "Toàn bộ Cột".

Phạm vi ("A: A"). EntireColumn

Trong toàn bộ thuộc tính cột, chúng ta cần sử dụng thuộc tính "Ẩn".

Phạm vi ("A: A"). EntireColumn.Hidden

Sau đó, cuối cùng, chúng ta cần đặt thuộc tính Ẩn thành TRUE.

Phạm vi ("A: A"). EntireColumn.Hidden = TRUE 

Điều này sẽ ẩn cột A.

Làm thế nào để ẩn các cột trong VBA?

Chúng ta có thể ẩn các cột theo một số cách. Chúng ta có thể ẩn một cột bằng cách sử dụng đối tượng Range, bằng cách sử dụng thuộc tính CELLS. Dựa trên phương pháp chúng tôi sử dụng, chúng tôi cần xây dựng mã VBA của chúng tôi.

Bạn có thể tải xuống Mẫu Excel Ẩn Cột VBA này tại đây - Mẫu Excel Ẩn Cột VBA

Ví dụ # 1 - Ẩn bằng cách sử dụng Đối tượng Phạm vi

Nếu bạn muốn ẩn một cột cụ thể thì hãy chỉ định cột bên trong đối tượng RANGE. Nhìn vào dữ liệu dưới đây.

Bây giờ chúng ta sẽ ẩn toàn bộ cột A bằng đoạn mã sau.

Mã:

 Sub Range_Hide () Range ("A: A"). EntireColumn.Hidden = True End Sub 

Vì vậy, khi chạy đoạn mã, chúng ta sẽ nhận được kết quả như sau.

Ví dụ # 2 - Ẩn bằng cách sử dụng Thuộc tính Cột

Nếu bạn muốn ẩn cột bằng cách sử dụng thuộc tính Columns thì mã bên dưới là dành cho bạn.

Mã:

 Sub Range_Hide () Columns ("B"). Hidden = True End Sub 

Thao tác này sẽ ẩn cột B. Ở đây chắc hẳn bạn đang nghĩ thuộc tính Toàn bộ Cột ở đâu. Khi bạn sử dụng thuộc tính Cột, không cần thiết phải sử dụng thuộc tính Toàn bộ Cột.

Chúng ta vẫn có thể sử dụng thuộc tính Toàn bộ Cột nhưng không nhất thiết phải bắt buộc. Và mã cho cùng một được đưa ra dưới đây.

Mã:

 Sub Columns_Hide () Columns ("B"). EntireColumn.Hidden = True End Sub 

Điều này cũng sẽ hoạt động tốt.

Chúng ta cũng có thể sử dụng số cột thay vì tham chiếu bảng chữ cái. Và mã cho cùng một được đưa ra dưới đây.

Mã:

 Sub Columns_Hide () Columns (4) .EntireColumn.Hidden = True End Sub 

Thao tác này sẽ ẩn Cột D.

Ví dụ # 3 - Ẩn Nhiều Cột

Chúng tôi cũng có thể ẩn nhiều cột cùng một lúc. Đối với điều này, chúng ta cần phải đề cập đến cột đầu tiên và cột cuối cùng, vì vậy ở giữa cột cũng sẽ bị ẩn. Đối với dữ liệu giống như ví dụ số 1, hãy sử dụng mã sau để ẩn nhiều cột.

Mã:

 Sub Columns_Hide () Range ("A: C"). EntireColumn.Hidden = True End Sub 

Thao tác này sẽ ẩn cột A đến C.

Chúng ta cũng có thể sử dụng đoạn mã sau để ẩn nhiều cột trong Excel VBA.

Mã:

 Sub Multi_Columns_Hide () Columns ("A: C"). EntireColumn.Hidden = True End Sub 

Các phương thức trên sẽ ẩn ba cột đầu tiên tức là A, B và C.

Ví dụ # 4 - Ẩn các cột bằng một ô

Chúng tôi cũng có thể ẩn một cột dựa trên một tham chiếu ô duy nhất. Chúng tôi không cần cung cấp tham chiếu cột đầy đủ để ẩn cột. Chỉ với một tham chiếu ô duy nhất, chúng ta có thể ẩn một cột.

Mã:

 Sub Single_Hide () Range ("A5"). EntireColumn.Hidden = True End Sub 

Thao tác này sẽ ẩn toàn bộ cột A.

Ví dụ # 5 - Ẩn mọi cột thay thế

Giả sử bạn có một dữ liệu giống như hình ảnh bên dưới.

Chúng ta cần ẩn mọi cột thay thế bị trống. Để điều này xảy ra, chúng ta cần sử dụng các vòng lặp, đoạn mã dưới đây sẽ thực hiện công việc cho chúng ta.

Mã:

 Sub AlternativeColumn_Hide () Dim k As Integer For k = 1 To 7 Cells (1, k + 1) .EntireColumn.Hidden = True k = k + 1 Next k End Sub 

Điều này sẽ ẩn mọi cột thay thế.

Ví dụ # 6 - Ẩn mọi cột trống

Trong ví dụ trước, mọi cột thay thế khác đều trống, chúng tôi đã ẩn một cách dễ dàng. Nhưng hãy nhìn vào dữ liệu dưới đây.

Ở đây, mẫu cột trống không phải là tiêu chuẩn. Trong những trường hợp này, mã bên dưới sẽ ẩn tất cả các cột trống, không quan trọng mẫu đó là gì.

Mã:

 Sub Column_Hide1 () Dim k As Integer For k = 1 To 11 If Cells (1, k) .Value = "" Then Columns (k) .Hidden = True End If Next k End Sub 

Khi chạy mã bạn sẽ nhận được kết quả như sau.

Ví dụ # 7 - Ẩn các Cột Dựa trên Giá trị Ô

Bây giờ chúng ta sẽ xem cách ẩn cột dựa trên giá trị ô. Để có một ví dụ, hãy xem dữ liệu dưới đây.

Ở đây tôi muốn ẩn tất cả các cột nếu tiêu đề là "Không". Mã dưới đây sẽ làm điều đó cho tôi.

Mã:

 Sub Column_Hide_Cell_Value () Dim k As Integer For k = 1 to 7 If Cells (1, k) .Value = "No" Then Columns (k) .Hidden = True End If Next k End Sub 

Khi chạy mã bạn sẽ nhận được kết quả như sau.


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