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 Show
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 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 ExcelKhi thao tác thủ công với Excel, bạn có thể chèn hàng theo 2 bước sau
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àngChèn hàng với phạm vi. Chèn phương phápMục đích của phạm vi. ChènSử 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
Cú pháp của phạm vi. Chènexpression.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
Cách sử dụng phạm vi. Chèn để chèn hàngSử 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
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àngMục đích của Worksheet. hàngSử 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àngexpression.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àngSử 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 ActiveCellmục đích của ứng dụng. Tế bào hoạt độngSử 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àngKhi 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ảnMục đích của Worksheet. Phạm viSử 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 viRange.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
Cách sử dụng Bảng tính. Phạm vi để chèn hàngKhi 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ẩmMục đích của Worksheet. Ô và Phạm vi. MụcSử 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ụcbảng tính. tế bàoRange.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ụcRange.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:=xlInsertFormatOriginConstant0 bảng tính. Ô và Phạm vi. mục cùng nhauXem xét ở trên Range.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant1 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:=xlInsertFormatOriginConstant2 Các thông số của Worksheet. Ô và Phạm vi. Mục
Cách sử dụng Bảng tính. Ô và Phạm vi. Mục để chèn hàngKhi 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:=xlInsertFormatOriginConstant3 Để 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:=xlInsertFormatOriginConstant4 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ù đắpMục đích của phạm vi. Bù lạiSử 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ạiRange.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant5 "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:=xlInsertFormatOriginConstant6 Các thông số của phạm vi. Bù lại
Cách sử dụng phạm vi. Offset để chèn hàngKhi 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 RowMục đích của phạm vi. Toàn bộ hàngSử 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àngRange.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant7 "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:=xlInsertFormatOriginConstant8 Cách sử dụng phạm vi. EntireRow để chèn hàngKhi 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ạngMục đích của phạm vi. Xóa định dạngSử 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ạngRange.Insert Shift:=xlShiftDown CopyOrigin:=xlInsertFormatOriginConstant9 "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.Rows0 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.Rows0 “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épMục đích của phạm vi. Sao chépSử 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épexpression.Rows2 "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.Rows3 Các thông số của phạm vi. Sao chép
Cách sử dụng phạm vi. Sao chép để chèn hàngSử 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.Rows4 “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
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àngSổ làm việc mẫuHướ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 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" Ví dụ 1. Chèn hàng VBA ExcelMã VBA để chèn hàngMacro 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.Rows5 Quá trình theo sau bởi MacroGiải thích câu lệnh VBATrang tính (“Chèn hàng”). Hàng(6). Chèn ca. =xlShiftDown
Tác dụng của việc thực thi MacroGIF 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 |