Tự động chèn hàng trong excel vba

Thông tin và ví dụ trong Hướng dẫn VBA này sẽ cho phép bạn chèn hàng trong nhiều trường hợp khác nhau

Hướng dẫn VBA này đi kèm với các sổ làm việc Excel có chứa dữ liệu và macro mà tôi sử dụng trong các ví dụ bên dưới. Bạn có thể truy cập miễn phí ngay lập tức vào các sổ làm việc mẫu này bằng cách nhấp vào nút bên dưới

Tự động chèn hàng trong excel vba
Tự động chèn hàng trong excel vba

Sử dụng Mục lục sau để điều hướng đến phần bạn quan tâm

Mục lục

  • Chèn hàng trong Excel
  • Cấu trúc VBA Excel để chèn hàng
    • Chèn hàng với phạm vi. Chèn phương pháp
    • Chỉ định hàng với trang tính. Thuộc tính hàng
    • Chỉ định ô hiện hoạt với ứng dụng. Thuộc tính ActiveCell
    • Chỉ định một phạm vi ô với trang tính. phạm vi tài sản
    • Chỉ định một ô với trang tính. Ô và Phạm vi. Thuộc tính vật phẩm
    • Chỉ định một phạm vi ô một số hàng cụ thể bên dưới hoặc bên trên một ô hoặc phạm vi ô với phạm vi. tài sản bù đắp
    • Chỉ định Toàn bộ Hàng với Phạm vi. Toàn bộ thuộc tính Row
    • Xóa định dạng hàng với phạm vi. Phương thức xóa định dạng
    • Sao chép hàng với phạm vi. Phương pháp sao chép
  • Hướng dẫn VBA và Macro liên quan
  • Ví dụ mã VBA Excel để chèn hàng
    • Sổ làm việc mẫu
    • Ví dụ 1. Chèn hàng VBA Excel
    • Ví dụ #2. Excel VBA Chèn nhiều hàng
    • Ví dụ #3. Excel VBA Chèn hàng có cùng định dạng với hàng ở trên
    • Ví dụ #4. Excel VBA Chèn hàng có cùng định dạng với hàng bên dưới
    • Ví dụ #5. Excel VBA Chèn hàng mà không cần định dạng
    • Ví dụ #6. Excel VBA Chèn hàng bên dưới ô hiện hoạt
    • Ví dụ #7. Chèn hàng VBA Excel đã sao chép
    • Ví dụ #8. Excel VBA Chèn các hàng trống giữa các hàng trong một phạm vi dữ liệu
    • Ví dụ #9. Excel VBA Chèn một số hàng vào mỗi số hàng trong một phạm vi dữ liệu

Chèn hàng trong Excel

Khi thao tác thủ công với Excel, bạn có thể chèn hàng theo 2 bước sau

  1. Chọn hàng hoặc các hàng phía trên để chèn hàng hoặc các hàng
  2. làm một điều trong số sau đây
    1. Nhấp chuột phải và chọn Chèn
    2. Đi tới Trang chủ > Chèn > Chèn hàng trang tính
    3. Sử dụng phím tắt “Ctrl + Shift + +”

Tự động chèn hàng trong excel vba
Tự động chèn hàng trong excel vba

Bạn có thể sử dụng các cấu trúc và cấu trúc VBA mà tôi mô tả bên dưới để tự động hóa quy trình này nhằm đạt được nhiều kết quả khác nhau

Cấu trúc VBA Excel để chèn hàng

Chèn hàng với phạm vi. Chèn phương pháp

Mục đích của phạm vi. Chèn

Sử dụng phạm vi. Chèn phương pháp để chèn một phạm vi ô vào một trang tính. 2 đặc điểm chính của Range. Phương pháp chèn như sau

  1. Phạm vi. Chèn có thể chèn một ô hoặc một phạm vi ô. Đối với mục đích của Hướng dẫn VBA này, bạn quan tâm đến việc chèn toàn bộ hàng
  2. Để tạo khoảng trống cho các ô mới được chèn, Phạm vi. Chèn dịch chuyển các ô khác đi

Cú pháp của phạm vi. Chèn

expression.Insert(Shift, CopyOrigin)

"biểu thức" là một đối tượng Phạm vi. Vì vậy, tôi đơn giản hóa như sau

Range.Insert(Shift, CopyOrigin)

Các thông số của phạm vi. Chèn

  1. Tham số. Sự thay đổi
    • Sự mô tả. Chỉ định hướng di chuyển các ô để tạo khoảng trống cho hàng mới được chèn
    • Tùy chọn/Bắt buộc. Không bắt buộc
    • Loại dữ liệu. Khác nhau
    • giá trị. Sử dụng hằng số từ bảng liệt kê xlInsertShiftDirection
      • xlShiftDown hoặc -4121. Di chuyển các ô xuống dưới
      • xlShiftToRight hoặc -4161. Dịch chuyển các ô sang phải
    • Mặc định. Excel quyết định dựa trên hình dạng của phạm vi
    • ghi chú sử dụng. Khi bạn chèn một hàng. (i) sử dụng xlShiftDown hoặc -4121 hoặc (ii) bỏ qua tham số và dựa vào hành vi mặc định
  2. Tham số. Sao chépOrigin
    • Sự mô tả. Chỉ định từ đâu (gốc) là định dạng cho các ô trong hàng mới chèn được sao chép
    • Tùy chọn/Bắt buộc. Không bắt buộc
    • Loại dữ liệu. Khác nhau
    • giá trị. Một hằng số từ bảng liệt kê xlInsertFormatOrigin
      • xlFormatFromLeftOrAbove hoặc 0. Các ô mới được chèn lấy định dạng từ các ô bên trên hoặc bên trái
      • xlFormatFromRightOrBelow hoặc 1. Các ô mới được chèn lấy định dạng từ các ô bên dưới hoặc bên phải
    • Mặc định. xlFormatFromLeftOrAbove hoặc 0. Các ô mới được chèn lấy định dạng từ các ô bên trên hoặc bên trái

Cách sử dụng phạm vi. Chèn để chèn hàng

Sử dụng phạm vi. Chèn phương pháp để chèn một hàng vào một trang tính. Sử dụng một tuyên bố với cấu trúc sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant

Đối với những mục đích này

  • Phạm vi. Đối tượng phạm vi đại diện cho toàn bộ hàng. Sử dụng Bảng tính. Hàng hoặc Phạm vi. Thuộc tính EntireRow để trả về một đối tượng Phạm vi đại diện cho toàn bộ hàng. Vui lòng tham khảo các phần về thuộc tính Rows và EntireRow bên dưới
  • xlInsertFormatOriginConstant. xlFormatFromLeftOrAbove hoặc xlFormatFromRightOrBelow. xlFormatFromLeftOrAbove là giá trị mặc định. Do đó, khi chèn các hàng có định dạng từ hàng trên, thông thường bạn có thể bỏ qua tham số CopyOrigin

Bạn thường có thể bỏ qua tham số Shift. Theo mặc định, VBA quyết định cách dịch chuyển các ô dựa trên hình dạng của phạm vi. Khi chèn một hàng, điều này thường dẫn đến việc Excel chuyển các ô xuống dưới

Chỉ định hàng với trang tính. Thuộc tính hàng

Mục đích của Worksheet. hàng

Sử dụng Bảng tính. Rows để trả về một đối tượng Phạm vi đại diện cho tất cả các hàng trong trang tính mà thuộc tính đó hoạt động với

bảng tính. Hàng là chỉ đọc

Cú pháp của bảng tính. hàng

expression.Rows

"biểu thức" là một đối tượng Worksheet. Vì vậy, tôi đơn giản hóa như sau

Worksheet.Rows

Cách sử dụng Bảng tính. Hàng để chèn hàng

Sử dụng Bảng tính. Rows để chỉ định hàng hoặc các hàng mà hàng mới được chèn phía trên

Để chèn một hàng, hãy sử dụng câu lệnh có cấu trúc sau

Worksheets.Rows(row#).Insert

“row#” là số của hàng mà hàng đó được chèn vào

Để chèn nhiều hàng, hãy sử dụng câu lệnh có cấu trúc sau

Worksheet.Rows("firstRow#:lastRow#").Insert

“firstRow#” là hàng mà các hàng được chèn vào. Số hàng VBA chèn được tính như sau

lastRow# - firstRow# + 1

Chỉ định ô hiện hoạt với ứng dụng. Thuộc tính ActiveCell

mục đích của ứng dụng. Tế bào hoạt động

Sử dụng ứng dụng. ActiveCell để trả về một đối tượng Range đại diện cho ô đang hoạt động

Đăng kí. ActiveCell chỉ đọc

Cú pháp ứng dụng. Tế bào hoạt động

________số 8

"biểu thức" là đối tượng Ứng dụng. Vì vậy, tôi đơn giản hóa như sau

Application.ActiveCell

Cách sử dụng ứng dụng. ActiveCell để chèn hàng

Khi bạn chèn một hàng, hãy sử dụng Ứng dụng. Thuộc tính ActiveCell để trả về ô đang hoạt động. Điều này cho phép bạn sử dụng ô đang hoạt động làm tham chiếu cho thao tác chèn hàng

Sử dụng phạm vi. Thuộc tính offset để trả về một đối tượng Phạm vi một số hàng cụ thể bên trên hoặc bên dưới ô hiện hoạt. Sử dụng phạm vi. EntireRow để trả về một đối tượng Phạm vi đại diện cho toàn bộ hàng hoặc các hàng bên trên để chèn hàng mới. Vui lòng tham khảo các phần về thuộc tính Offset và EntireRow bên dưới

Để chèn một hàng phía trên ô hiện hoạt, hãy sử dụng câu lệnh sau

Range.Insert(Shift, CopyOrigin)
0

Để chèn một hàng một số hàng cụ thể bên trên hoặc bên dưới ô hiện hoạt, hãy sử dụng câu lệnh có cấu trúc sau

Range.Insert(Shift, CopyOrigin)
1

Chỉ định một phạm vi ô với trang tính. phạm vi tài sản

Mục đích của Worksheet. Phạm vi

Sử dụng Bảng tính. Thuộc tính Range để trả về một đối tượng Range đại diện cho một ô hoặc một phạm vi ô

Cú pháp của bảng tính. Phạm vi

Range.Insert(Shift, CopyOrigin)
2

"biểu thức" là một đối tượng Worksheet. Vì vậy, tôi đơn giản hóa như sau

Range.Insert(Shift, CopyOrigin)
3

Các thông số của Worksheet. Phạm vi

  1. Tham số. Ô1
    • Sự mô tả
      • Nếu bạn chỉ sử dụng Ô1 (bỏ qua Ô2), Ô1 chỉ định phạm vi ô
      • Nếu bạn sử dụng Ô1 và Ô2, thì Ô1 chỉ định ô ở góc trên bên trái của phạm vi ô
    • Bắt buộc/Tùy chọn. Yêu cầu
    • Loại dữ liệu. Khác nhau
    • giá trị
      • Nếu bạn chỉ sử dụng Cell1 (bỏ qua Cell2). (i) địa chỉ phạm vi dưới dạng tham chiếu kiểu A1 bằng ngôn ngữ macro hoặc (ii) tên phạm vi
      • Nếu bạn sử dụng Cell1 và Cell2. (i) Đối tượng phạm vi, (ii) địa chỉ phạm vi hoặc (iii) tên phạm vi
  2. Tham số. Ô2
    • Sự mô tả. Ô ở góc dưới bên phải của phạm vi ô
    • Bắt buộc/Tùy chọn. Không bắt buộc
    • Loại dữ liệu. Khác nhau
    • giá trị. (i) Đối tượng phạm vi, (ii) địa chỉ phạm vi hoặc (iii) tên phạm vi

Cách sử dụng Bảng tính. Phạm vi để chèn hàng

Khi bạn chèn một hàng, hãy sử dụng Worksheet. Thuộc tính phạm vi để trả về một ô hoặc phạm vi ô. Điều này cho phép bạn sử dụng một ô hoặc phạm vi ô cụ thể làm tham chiếu cho thao tác chèn hàng

Sử dụng phạm vi. Thuộc tính offset để trả về một đối tượng Phạm vi một số hàng cụ thể bên trên hoặc bên dưới ô hoặc phạm vi ô. Sử dụng phạm vi. EntireRow để trả về một đối tượng Phạm vi đại diện cho toàn bộ hàng hoặc các hàng bên trên để chèn hàng hoặc các hàng mới. Vui lòng tham khảo các phần về thuộc tính Offset và EntireRow bên dưới

Để chèn các hàng phía trên phạm vi ô được chỉ định bởi Worksheet. Phạm vi, sử dụng một câu lệnh với cấu trúc sau

Range.Insert(Shift, CopyOrigin)
4

Để chèn hàng một số hàng cụ thể bên trên hoặc bên dưới phạm vi ô được chỉ định bởi Worksheet. Phạm vi sử dụng một câu lệnh với cấu trúc sau

Range.Insert(Shift, CopyOrigin)
5

Nếu phạm vi ô được biểu thị bởi Trang tính. Thuộc tính phạm vi kéo dài hơn 1 hàng, phương thức Chèn sẽ chèn một số hàng. Số hàng chèn vào được tính như sau

lastRow# - firstRow# + 1

Vui lòng tham khảo phần về Worksheet. Rows ở trên để biết thêm thông tin về phép tính này

Chỉ định một ô với trang tính. Ô và Phạm vi. Thuộc tính vật phẩm

Mục đích của Worksheet. Ô và Phạm vi. Mục

Sử dụng Bảng tính. Cells để trả về một đối tượng Range đại diện cho tất cả các ô trong một trang tính

Khi macro của bạn có tất cả các ô trong trang tính, hãy sử dụng Phạm vi. Item để trả về một đối tượng Range đại diện cho một trong các ô đó

Cú pháp của bảng tính. Ô và Phạm vi. Mục

bảng tính. tế bào
Range.Insert(Shift, CopyOrigin)
7

"biểu thức" là một đối tượng Worksheet. Vì vậy, tôi đơn giản hóa như sau

Range.Insert(Shift, CopyOrigin)
8
Phạm vi. Mục
Range.Insert(Shift, CopyOrigin)
9

"biểu thức" là một đối tượng Phạm vi. Vì vậy, tôi đơn giản hóa như sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
0
bảng tính. Ô và Phạm vi. mục cùng nhau

Xem xét ở trên

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
1

Tuy nhiên, Item là thuộc tính mặc định của đối tượng Range. Do đó, bạn thường có thể bỏ qua từ khóa Item trước khi chỉ định các đối số RowIndex và ColumnIndex. Tôi đơn giản hóa như sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
2

Các thông số của Worksheet. Ô và Phạm vi. Mục

  1. Tham số. Hàng Index
    • Sự mô tả
      • Nếu bạn chỉ sử dụng Row Index (bỏ qua Column Index), Row Index chỉ định chỉ mục của ô mà bạn làm việc với. Các ô được đánh số từ trái sang phải và từ trên xuống dưới
      • Nếu bạn sử dụng Row Index và Column Index, Row Index chỉ định số hàng của ô mà bạn làm việc
    • Bắt buộc/Tùy chọn. Yêu cầu
    • Loại dữ liệu. Khác nhau
    • giá trị. Bạn thường chỉ định RowIndex làm giá trị
  2. Tham số. Cột Index
    • Sự mô tả. Số cột hoặc chữ cái của ô bạn làm việc với
    • Bắt buộc/Tùy chọn. Không bắt buộc
    • Loại dữ liệu. Khác nhau
    • giá trị. Bạn thường chỉ định ColumnIndex dưới dạng giá trị (số cột) hoặc chữ cái trong dấu ngoặc kép (“”)

Cách sử dụng Bảng tính. Ô và Phạm vi. Mục để chèn hàng

Khi bạn chèn một hàng, hãy sử dụng Worksheet. Ô và Phạm vi. Thuộc tính mục để trả về một ô. Điều này cho phép bạn sử dụng một ô cụ thể làm tham chiếu cho thao tác chèn hàng

Sử dụng phạm vi. Thuộc tính offset để trả về một đối tượng Phạm vi một số hàng cụ thể bên trên hoặc bên dưới ô. Sử dụng phạm vi. EntireRow để trả về một đối tượng Phạm vi đại diện cho toàn bộ hàng phía trên để chèn hàng. Vui lòng tham khảo các phần về thuộc tính Offset và EntireRow bên dưới

Để chèn một hàng phía trên ô được chỉ định bởi Worksheet. Các ô, sử dụng một câu lệnh có cấu trúc sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
3

Để chèn một hàng, một số hàng cụ thể bên trên hoặc bên dưới ô được chỉ định bởi Worksheet. Các ô, sử dụng một câu lệnh có cấu trúc sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
4

Chỉ định một phạm vi ô một số hàng cụ thể bên dưới hoặc bên trên một ô hoặc phạm vi ô với phạm vi. tài sản bù đắp

Mục đích của phạm vi. Bù lại

Sử dụng phạm vi. Thuộc tính offset để trả về một đối tượng Phạm vi đại diện cho một phạm vi ô nằm cách một số hàng hoặc cột so với phạm vi mà thuộc tính làm việc với

Cú pháp của phạm vi. Bù lại

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
5

"biểu thức" là một đối tượng Phạm vi. Vì vậy, tôi đơn giản hóa như sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
6

Các thông số của phạm vi. Bù lại

  1. Tham số. HàngOffset
    • Sự mô tả. Số hàng theo đó ô hoặc phạm vi ô được bù trừ
    • Bắt buộc/Tùy chọn. Không bắt buộc
    • Loại dữ liệu. Khác nhau
    • giá trị
      • Số dương. Di chuyển xuống trang tính
      • Số âm. Di chuyển lên trang tính
      • 0. Nằm trên cùng một hàng
    • Mặc định. 0. Nằm trên cùng một hàng
  2. Tham số. CộtOffset
    • Sự mô tả. Số cột theo đó ô hoặc phạm vi ô được bù trừ
    • Bắt buộc/Tùy chọn. Không bắt buộc
    • Loại dữ liệu. Khác nhau
    • giá trị
      • Số dương. Di chuyển về phía bên phải của trang tính
      • Số âm. Di chuyển về phía bên trái của trang tính
      • 0. Nằm trên cùng một cột
    • Mặc định. 0. Nằm trên cùng một cột
    • ghi chú sử dụng. Khi bạn chèn một hàng, thông thường bạn có thể bỏ qua tham số ColumnOffset. Bạn thường quan tâm đến việc di chuyển một số hàng (không phải cột) lên trên hoặc xuống dưới

Cách sử dụng phạm vi. Offset để chèn hàng

Khi bạn chèn một hàng, hãy sử dụng Phạm vi. Thuộc tính offset để chỉ định một ô hoặc phạm vi ô nằm ở một số hàng cụ thể bên dưới phía trên một ô hoặc phạm vi ô khác. Điều này cho phép bạn sử dụng ô hoặc phạm vi ô mới này làm tham chiếu cho thao tác chèn hàng

Sử dụng các thuộc tính như Ứng dụng. ActiveCell, Bảng tính. Phạm vi và Bảng tính. Các ô để chỉ định phạm vi cơ sở mà thuộc tính Offset hoạt động với. Vui lòng tham khảo các phần về thuộc tính ActiveCell, Range và Cells ở trên

Chỉ định Toàn bộ Hàng với Phạm vi. Toàn bộ thuộc tính Row

Mục đích của phạm vi. Toàn bộ hàng

Sử dụng phạm vi. EntireRow để trả về một đối tượng Phạm vi đại diện cho toàn bộ hàng hoặc các hàng chứa phạm vi ô mà thuộc tính làm việc với

Phạm vi. EntireRow là chỉ đọc

Cú pháp của phạm vi. Toàn bộ hàng

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
7

"biểu thức" là một đối tượng Phạm vi. Vì vậy, tôi đơn giản hóa như sau

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
8

Cách sử dụng phạm vi. EntireRow để chèn hàng

Khi bạn chèn một hàng, hãy sử dụng Phạm vi. EntireRow để trả về toàn bộ hàng hoặc các hàng phía trên hàng hoặc các hàng mới được chèn vào

Sử dụng các thuộc tính như Ứng dụng. ActiveCell, Bảng tính. Phạm vi và Bảng tính. Các ô để chỉ định phạm vi mà thuộc tính EntireRow hoạt động với. Vui lòng tham khảo các phần về thuộc tính ActiveCell, Range và Cells ở trên

Xóa định dạng hàng với phạm vi. Phương thức xóa định dạng

Mục đích của phạm vi. Xóa định dạng

Sử dụng phạm vi. Phương thức ClearFormats để xóa định dạng của một phạm vi ô

Cú pháp của phạm vi. Xóa định dạng

Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant
9

"biểu thức" là một đối tượng Phạm vi. Vì vậy, tôi đơn giản hóa như sau

expression.Rows
0

Cách sử dụng phạm vi. ClearFormats để chèn hàng

Định dạng của hàng mới được chèn được chỉ định bởi tham số CopyOrigin của Phạm vi. phương pháp chèn. Vui lòng tham khảo mô tả của Phạm vi. Chèn và CopyOrigin ở trên

Khi bạn chèn một hàng, hãy sử dụng Phạm vi. Phương thức ClearFormats để xóa định dạng của các hàng mới được chèn. Sử dụng câu lệnh có cấu trúc sau sau câu lệnh chèn hàng mới (có định dạng mà bạn muốn xóa)

expression.Rows
0

“Phạm vi” là một đối tượng Phạm vi đại diện cho hàng mới được chèn

Sử dụng Bảng tính. Hàng hoặc Phạm vi. Thuộc tính EntireRow để trả về một đối tượng Phạm vi đại diện cho hàng mới được chèn. Vui lòng tham khảo các phần về thuộc tính Rows và EntireRow ở trên

Sao chép hàng với phạm vi. Phương pháp sao chép

Mục đích của phạm vi. Sao chép

Sử dụng phạm vi. Phương pháp sao chép để sao chép một phạm vi ô sang một phạm vi ô khác hoặc Bảng tạm

Cú pháp của phạm vi. Sao chép

expression.Rows
2

"biểu thức" là một đối tượng Phạm vi. Vì vậy, tôi đơn giản hóa như sau

expression.Rows
3

Các thông số của phạm vi. Sao chép

  1. Tham số. Điểm đến
    • Sự mô tả. Chỉ định phạm vi ô đích mà phạm vi ô đã sao chép được sao chép vào đó
    • Bắt buộc/Tùy chọn. tham số tùy chọn
    • Loại dữ liệu. Khác nhau
    • giá trị. Bạn thường chỉ định Đích làm đối tượng Phạm vi
    • Mặc định. Phạm vi ô được sao chép vào Clipboard
    • ghi chú sử dụng. Khi bạn chèn một hàng đã sao chép, hãy bỏ qua tham số Đích để sao chép hàng vào Clipboard

Cách sử dụng phạm vi. Sao chép để chèn hàng

Sử dụng phạm vi. Phương thức sao chép để sao chép một hàng mà sau này bạn chèn vào

Sử dụng câu lệnh có cấu trúc sau trước câu lệnh chèn hàng

expression.Rows
4

“Phạm vi” là một đối tượng Phạm vi đại diện cho toàn bộ một hàng

Sử dụng Bảng tính. Hàng hoặc Phạm vi. Thuộc tính EntireRow để trả về một đối tượng Phạm vi đại diện cho một hàng. Vui lòng tham khảo các phần về thuộc tính Rows và EntireRow ở trên

Hướng dẫn VBA và Macro liên quan

  • Cấu trúc và cấu trúc VBA chung
    • Giới thiệu về cấu trúc và cấu trúc VBA của Excel
    • Mô hình đối tượng VBA trong Excel
    • Cách khai báo biến trong Excel VBA
    • Các kiểu dữ liệu VBA của Excel
  • Các ứng dụng VBA thực tế và các ví dụ macro
    • Cách sao chép và dán bằng Excel VBA

Bạn có thể tìm thấy các Hướng dẫn VBA và Macro bổ sung trong Lưu trữ

Ví dụ mã VBA Excel để chèn hàng

Sổ làm việc mẫu

Hướng dẫn VBA này đi kèm với sổ làm việc Excel chứa dữ liệu và macro mà tôi giải thích bên dưới. Nếu bạn muốn theo dõi và thực hành, bạn có thể truy cập miễn phí ngay vào các sổ làm việc ví dụ này bằng cách nhấp vào nút bên dưới

Tự động chèn hàng trong excel vba
Tự động chèn hàng trong excel vba

Mỗi trang tính trong sổ làm việc chứa một phạm vi dữ liệu. Hầu hết các mục chỉ đơn giản là ghi "Dữ liệu"

Tự động chèn hàng trong excel vba
Tự động chèn hàng trong excel vba

Ví dụ 1. Chèn hàng VBA Excel

Mã VBA để chèn hàng

Macro sau chèn một hàng bên dưới hàng 5 của trang tính có tên “Chèn hàng”

expression.Rows
5

Tự động chèn hàng trong excel vba
Tự động chèn hàng trong excel vba

Quá trình theo sau bởi Macro

Tự động chèn hàng trong excel vba
Tự động chèn hàng trong excel vba

Giải thích câu lệnh VBA

Trang tính (“Chèn hàng”). Hàng(6). Chèn ca. =xlShiftDown
  1. Mục. Trang tính (“Chèn hàng”)
    • xây dựng VBA. Sách bài tập. Thuộc tính bảng tính
    • Sự mô tả. Trả về một đối tượng Worksheet đại diện cho trang tính “Insert row”
  2. Mục. Hàng(6)
    • xây dựng VBA. bảng tính. Thuộc tính hàng
    • Sự mô tả. Trả về một đối tượng Phạm vi đại diện cho hàng 6 của trang tính được trả về bởi mục số 1 ở trên
  3. Mục. Chèn
    • xây dựng VBA. Phạm vi. phương pháp chèn
    • Sự mô tả. Chèn một hàng mới phía trên hàng được trả về bởi mục số 2 ở trên
  4. Mục. Sự thay đổi. =xlShiftDown
    • xây dựng VBA. Tham số thay đổi của Phạm vi. phương pháp chèn
    • Sự mô tả
      • Dịch chuyển hàng xuống dưới (xlShiftDown) để tạo khoảng trống cho hàng được chèn bởi mục số 3 ở trên
      • Bạn thường có thể bỏ qua tham số này. Theo mặc định, VBA quyết định cách dịch chuyển các ô dựa trên hình dạng của phạm vi. Khi chèn một hàng, điều này thường dẫn đến việc Excel chuyển các ô xuống dưới

Tác dụng của việc thực thi Macro

GIF sau đây minh họa kết quả thực thi macro này. Như mong đợi, VBA chèn 2 hàng cứ sau 3 hàng trong phạm vi dữ liệu đã chỉ định