VBA Chèn cột | Làm thế nào để Chèn Cột trong Trang tính Excel với VBA?

Thông thường trong bảng tính excel, chúng ta có hai phương pháp khác nhau để thêm hoặc chèn 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 chèn và câu lệnh toàn bộ cột để thêm bất kỳ cột nào với nhau, mẹo cho điều này là nếu chúng ta cần chèn 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.

Chèn cột trong Excel bằng VBA

Là một phần của mã VBA, chúng tôi có thể cần phải chèn một vài cột trong biểu dữ liệu của mình để phù hợp với nhu cầu của chúng tôi. Chèn cột là phím tắt dễ dàng trong trang tính bằng cách nhấn Ctrl + nhưng cách chèn một cột mới thông qua mã VBA. Trong bài viết này về “VBA Chèn cột”, chúng tôi sẽ chỉ cho bạn quy trình thêm cột trong excel và sẽ hiển thị cho bạn các ví dụ về các tình huống khác nhau.

Làm thế nào để Chèn Cột trong Trang tính Excel bằng VBA?

Chúng ta có thể chèn các cột trong VBA bằng cách sử dụng thuộc tính COLUMNS và đối tượng RANGE. Bạn phải hiểu tại sao chúng ta cần các cột và các đối tượng phạm vi để chèn một cột mới.

Để chèn một cột mới, chúng ta cần xác định sau cột nào chúng ta cần chèn, mà không cần nói sau cột nào chúng ta cần chèn để VBA có thể hiểu logic.

Ví dụ, nếu bạn muốn chèn cột sau cột B thì bạn có thể tạo mã như thế này.

Các cột (“C”)

Lưu ý: Lý do tại sao tôi đã sử dụng C để chèn một cột sau vì ô được chọn sẽ bị chuyển sang phía bên phải.

Sau khi các cột được chỉ định, chúng ta cần truy cập thuộc tính "Toàn bộ cột".

Cột (“C”). Toàn bộ Cột

Sau đó, chúng ta cần chọn phương thức "Chèn".

Cột (“C”). EntireColumn.Insert

Thao tác này sẽ chèn cột sau cột C và cột C hiện có sẽ được chuyển sang D.

Ví dụ # 1 - Chèn các cột bằng cách sử dụng đối tượng phạm vi trong VBA

Bây giờ, hãy xem cách chèn cột bằng đối tượng RANGE. Đối với điều này, hãy xem xét dữ liệu dưới đây để làm ví dụ.

Bây giờ tôi muốn VBA chèn cột sau cột A, hãy làm theo các bước dưới đây để xây dựng mã.

Bước 1: Bắt đầu quy trình phụ.

Bước 2: Mở đối tượng Range .

Mã:

 Sub ColumnInsert_Example1 () Range (End Sub 

Bước 3: Bây giờ hãy đề cập đến cột trong dấu ngoặc kép .

Mã:

 Sub ColumnInsert_Example1 () Phạm vi ("B: B") Kết thúc Sub 

Bước 4: Bây giờ chọn thuộc tính Toàn bộ Cột .

Mã:

 Sub ColumnInsert_Example1 () Phạm vi ("B: B"). Ent End Sub 

Bước 5: Sau khi chọn thuộc tính Toàn bộ Cột, hãy chọn phương pháp “Chèn” .

Mã:

 Sub ColumnInsert_Example1 () Phạm vi ("B: B"). EntireColumn.ins End Sub 

Bây giờ mã của bạn trông như thế này.

Mã:

 Sub ColumnInsert_Example1 () Range ("B: B"). EntireColumn.Insert End Sub 

Chạy mã, nó sẽ chèn cột B mới.

Ví dụ # 2 - Chèn Nhiều Cột

Ví dụ, nếu bạn muốn chèn hai cột mới sau cột A thì chúng ta cần đề cập đến hai địa chỉ cột.

Mã:

 Sub ColumnInsert_Example1 () Range ("B: C"). EntireColumn.Insert End Sub 

Đoạn mã trên sẽ chèn hai cột sau cột A.

Ví dụ # 3 - Với Phương pháp Chỉ “Chèn”

Chúng ta có thể chèn một cột mới bằng cách sử dụng phương pháp duy nhất “Chèn” mà không cần truy cập thuộc tính Toàn bộ Cột. Đối với điều này, chúng ta hãy hiểu cú pháp của phương thức "chèn".

Expression.Insert ([Shift], [Copy Origin])

[Shift]: Khi chúng ta chèn cột mới, cho dù chúng ta cần các cột chuyển sang bên phải hoặc chuyển sang bên dưới trong trường hợp là hàng. Ở đây chúng ta có thể sử dụng hai tùy chọn “xlToRight” và “xlDownTo”

[Copy Origin]: Điều này sẽ chỉ định định dạng cho cột mới được chèn. Cho dù bạn cần định dạng từ bên trái của cột hoặc từ các ô bên trên. Ở đây chúng ta có thể sử dụng hai tùy chọn “xlFormatFromLeftOrAbove” và “xlFormatFromRightOrBelow”.

Dưới đây là mã ví dụ cho bạn.

 Sub ColumnInsert_Example1 () Range ("B: B"). Chèn Shift: = xlToRight, Copyorigin: = xlFormatFromLeftOrAbove End Sub 

Ví dụ # 4 - Chèn cột bằng thuộc tính COLUMNS trong VBA

Chúng ta đã thấy cách VBA chèn cột bằng đối tượng RANGE, bây giờ chúng ta sẽ cho thấy chúng ta có thể chèn cột bằng thuộc tính “COLUMNS”.

Mở thuộc tính COLUMNS.

Mã:

 Cột PhụInsert_Example2 () Cột (Kết thúc Phụ 

Chúng tôi có thể chỉ định cột theo hai cách ở đây. Một đang sử dụng tham chiếu bảng chữ cái thông thường và một tham chiếu khác đang sử dụng số cột.

Nếu bạn muốn chèn cột sau cột A thì mã sẽ là CỘT (“B”). Nếu bạn đang sử dụng tham chiếu số thì mã sẽ là COLUMNS (2).

Mã:

Các cột Sub ColumnInsert_Example2 () ("B"). Kết thúc Sub

Bây giờ vấn đề cho bạn nảy sinh bởi vì khi chúng tôi sử dụng thuộc tính COLUMNS, chúng tôi không thể truy cập vào danh sách IntelliSense.

Mã:

 Sub ColumnInsert_Example2 () Columns ("B"). Entir End Sub 

Ở đây chúng ta cần chắc chắn về những gì chúng ta đang làm. Vì vậy, đây là lý do tôi đã cho bạn thấy đối tượng RANGE đầu tiên.

Mã:

 Sub ColumnInsert_Example2 () Columns ("B: B"). EntireColumn.Insert End Sub 

Ví dụ # 5 - Chèn các cột thay thế

Giả sử bạn có dữ liệu như hình dưới đây.

Nếu bạn muốn chèn các cột mới sau mỗi hàng thay thế, thì chúng ta cần sử dụng vòng lặp VBA. Mã dưới đây là mã được thiết kế riêng cho bạn.

Mã:

 Sub ColumnInsert_Example3 () Dim k As Integer Columns (2). Chọn For k = 2 To 8 ActiveCell.EntireColumn.Insert ActiveCell.Offset (0, 2). Chọn Next k End Sub 

Thao tác này sẽ chèn cột như thế này.

Ví dụ # 6 - Chèn cột dựa trên giá trị ô

Chúng tôi cũng có thể chèn một cột dựa trên giá trị ô. Ví dụ, hãy xem dữ liệu dưới đây.

Ở đây tôi muốn chèn cột nếu giá trị ô ở hàng đầu tiên là “Năm” và dữ liệu của tôi sẽ như thế này sau khi chèn các cột mới.

Sử dụng mã dưới đây để thực hiện tác vụ này.

Mã:

 Sub ColumnInsert_Example4 () Dim k As Integer Dim x As Integer x = 2 For k = 2 To 12 If Cells (1, x) .Value = "Year" Then Cells (1, x) .EntireColumn.Insert x = x + 1 Kết thúc Nếu x = x + 1 Tiếp theo k Kết thúc Sub 

Bạn có thể tải xuống VBA Chèn cột Excel này tại đây. VBA Chèn cột Mẫu Excel


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