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 ta cung cấp một tham chiếu cột duy nhất nhưng đối với nhiều cột, chúng ta 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 chèn một cột mới thông qua mã VBA thì sao. 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 thuộc tính COLUMNS và đối tượng RANGE. Bạn phải 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, không cần cho biết, sau cột nào chúng ta cần chèn để VBA có thể hiểu được 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 vào 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 để tạo 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 () Range ("B: B") End 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 () Range ("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 hay 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): This will specify the format for the newly inserted column. Whether you need the format from the left side of the column or from the above cells. Here we can use two options “xlFormatFromLeftOrAbove” and “xlFormatFromRightOrBelow”.

Below is the example code for you.

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

Example #4 - Insert Columns Using COLUMNS Property in VBA

We have seen how to VBA insert columns using the RANGE object; now, we will show we can insert columns using the “COLUMNS” property.

Open the COLUMNS property.

Code:

Sub ColumnInsert_Example2() Columns( End Sub

We can specify the column in two ways here. One is using as usual alphabetic references, and another one is using column numbers.

If you want to insert the column after column A, then the code will be COLUMNS(“B”). If you are using numerical reference, then the code will be COLUMNS(2).

Code:

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

Now the problem for you arises because when we use COLUMNS property, we don’t get to access the IntelliSense list.

Code:

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

Here we need to sure of what we are doing. So this is the reason I have showed you the RANGE object first.

Code:

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

Example #5 - Insert Alternative Columns

Assume you have the data like the below image.

If you want to insert new columns after every alternate row, then we need to use VBA loops. The below code it tailor-made the code for you.

Code:

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

thú vị bài viết...