Công thức excel chèn hàng nếu

Trong hướng dẫn này, chúng ta sẽ xem cách chèn một hàng hoặc một cột bằng mã VBA trong Excel. Chúng ta cũng sẽ khám phá những cách khác nhau để viết macro cho việc này là gì

Chèn một hàng bằng VBA

Để chèn một hàng bằng mã VBA, bạn cần sử dụng thuộc tính “Entire Row” với phương thức “Insert”. Với thuộc tính toàn bộ hàng, bạn có thể tham chiếu toàn bộ hàng bằng cách sử dụng một ô rồi chèn một hàng mới vào đó. Theo mặc định, nó sẽ chèn một hàng trước ô mà bạn đã đề cập

  1. Đầu tiên, chỉ định một ô bằng cách sử dụng đối tượng phạm vi
  2. Bây giờ, hãy nhập một dấu chấm (. ) để lấy danh sách các thuộc tính và phương thức
  3. Sau đó, chọn thuộc tính “Entire Row” hoặc gõ nó
  4. Cuối cùng, nhập lại dấu chấm (. ) và chọn phương thức “Chèn” hoặc nhập
Range("A1").EntireRow.Insert

Mã của bạn đã sẵn sàng ở đây để chèn một hàng. Bây giờ khi bạn chạy mã này, nó sẽ ngay lập tức chèn một hàng mới trước ô A1

Liên kết hữu ích. Thẻ nhà phát triển. Trình soạn thảo Visual Basic. Chạy Macro. Sổ làm việc Macro cá nhân

Chèn nhiều hàng

Có hai cách để chèn nhiều hàng trong một bảng tính mà tôi đã tìm thấy. Đầu tiên là cùng một phương thức chèn mà chúng ta đã sử dụng trong ví dụ trên

Với điều này, bạn cần chỉ định một phạm vi có số lượng tương đương với số lượng hàng bạn muốn chèn. Bây giờ, giả sử bạn muốn chèn 5 hàng sau, trong trường hợp đó, bạn có thể sử dụng mã như sau

Thành thật mà nói, tôi không thấy phương pháp này hữu ích lắm vì bạn cần thay đổi phạm vi nếu bạn muốn thay đổi số lượng hàng

Vì vậy, đây là phương pháp thứ hai

Dim iRow As Long
Dim iCount As Long
Dim i As Long

iCount = InputBox(Prompt:="How many rows you want to add?")
iRow = InputBox _
(Prompt:="After which row you want to add new rows? (Enter the row number")

For i = 1 To iCount
    Rows(iRow).EntireRow.Insert
Next i

Khi bạn chạy mã này, nó sẽ yêu cầu bạn nhập số hàng mà bạn muốn thêm và sau đó là số hàng mà bạn muốn thêm tất cả các hàng đó. Nó sử dụng FOR LOOP (For Next) để lặp lại số lần đó và chèn từng hàng một

Chèn hàng dựa trên giá trị ô

Nếu bạn muốn chèn các hàng dựa trên giá trị ô, thì bạn có thể sử dụng đoạn mã sau

Dim iRow As Long
Dim iCount As Long
Dim i As Long

iCount = Range("A1").Value
iRow = Range("B1").Value

For i = 1 To iCount
    Rows(iRow).EntireRow.Insert
Next i

Khi bạn chạy macro này, nó sẽ đếm số hàng từ ô A1 và hàng mà bạn muốn thêm hàng từ ô B1

Chèn một hàng mà không cần định dạng

Khi bạn chèn một hàng mà hàng trên có một số định dạng cụ thể, trong trường hợp đó, hàng đó cũng sẽ tự động có định dạng đó. Và cách đơn giản nhất để giải quyết vấn đề này là sử dụng các định dạng rõ ràng. Hãy xem xét đoạn mã sau

Rows(7).EntireRow.Insert
Rows(7).ClearFormats

Khi bạn chạy đoạn mã trên, nó sẽ chèn một hàng mới trước hàng thứ 7. Bây giờ, điều gì sẽ xảy ra, khi bạn chèn một hàng trước hàng thứ 7, hàng mới đó sẽ trở thành hàng thứ 7 và sau đó dòng mã thứ hai sẽ xóa các định dạng khỏi hàng đó

Chèn hàng đã sao chép

Bạn cũng có thể sử dụng phương pháp tương tự để sao chép một hàng rồi chèn nó vào một nơi khác. Xem đoạn mã sau

Những người làm việc với tập dữ liệu lớn thường cần những thao tác đơn giản như chèn/xóa hàng, cột

Mặc dù đã có nhiều cách khác nhau (và đơn giản) để thêm hàng trong Excel, nhưng khi chèn một hàng trống sau mỗi hàng khác (hoặc mỗi hàng thứ ba hoặc thứ tư), mọi thứ sẽ hơi phức tạp

Hướng dẫn này bao gồm

Chèn một hàng trống sau mỗi hàng khác

Trong hướng dẫn này, tôi sẽ chỉ cho bạn một số cách thực sự đơn giản để chèn một hàng trống sau mỗi hàng trong tập dữ liệu hiện có (hoặc mỗi hàng thứ n)

Vì không có cách nào trực tiếp để thêm hàng vào giữa các hàng nên phương pháp được đề cập trong bài viết này là giải pháp thay thế để thực hiện điều này. Và nếu bạn cảm thấy thoải mái với VBA, thì bạn có thể thực hiện việc này chỉ bằng một cú nhấp chuột

Sử dụng cột trợ giúp và tính năng sắp xếp

Giả sử bạn có một tập dữ liệu như hình bên dưới và bạn muốn chèn một khoảng trống giữa các hàng hiện có

Dataset where alternate blank rows need to be inserted

Dưới đây là các bước để chèn các hàng trống giữa các hàng hiện có

  1. Chèn một cột trống vào bên trái của tập dữ liệu. Để thực hiện việc này, nhấp chuột phải vào tiêu đề cột của cột ngoài cùng bên trái và nhấp vào ChènInsert a column to the left of the dataset
  2. Nhập văn bản 'HelperColumn' trong A1 (bạn có thể sử dụng bất kỳ văn bản nào bạn muốn)Name the column HelperColumn
  3. Nhập 1 vào ô A2 và 2 vào ô A3Enter 1 and 2 in first two cells of the helper column
  4. Chọn cả hai ô và đặt con trỏ ở dưới cùng bên phải của vùng chọn. Khi con trỏ thay đổi thành biểu tượng dấu cộng, hãy nhấp đúp vào biểu tượng đó. Điều này sẽ lấp đầy toàn bộ cột với các số tăng dầnAutofill the helper column
  5. Chuyển đến ô được điền cuối cùng trong cột trợ giúp rồi chọn ô bên dưới cột đó
  6. Nhập 1 vào ô này và 2 vào ô bên dưới nóEnter 1 and 2 in first cells below the dataset records
  7. Chọn cả hai ô và đặt con trỏ ở dưới cùng bên phải của vùng chọn
  8. Khi con trỏ chuyển thành biểu tượng dấu cộng, hãy nhấp và kéo nó xuống. Điều này sẽ điền vào một dãy số (giống như chúng ta đã có ở bước 3). Đảm bảo bạn nhận được nhiều số hơn những gì bạn có trong tập dữ liệu. Ví dụ: nếu có 10 bản ghi trong tập dữ liệu, hãy đảm bảo điền ít nhất 10 ô trong bước này. Sau khi hoàn tất, tập dữ liệu của bạn sẽ trông như hình bên dướiHelper column with serial numbers
  9. Chọn toàn bộ tập dữ liệu (bao gồm tất cả các ô trong cột trợ giúp)
  10. Nhấp vào tab Dữ liệuClick the Data tab
  11. Nhấp vào tùy chọn Sắp xếpClick the Sort icon in the Data tab
  12. Trong hộp thoại Sắp xếp, hãy sử dụng các cài đặt sau
    • Sắp xếp theo. Người giúp đỡ
    • Sắp xếp. Giá trị ô
    • Trật tự. Nhỏ nhất đến Lớn nhấtSort Dialog Box settings
  13. Nhấp vào OK. Điều này sẽ cung cấp cho bạn tập dữ liệu như hình dưới đâyFinal Dataset where blank rows have been inserted after each row
  14. Xóa cột trợ giúp

Bạn sẽ nhận thấy rằng ngay sau khi bạn nhấp vào OK trong hộp thoại Sắp xếp, nó sẽ ngay lập tức sắp xếp lại các hàng và bây giờ bạn có một hàng trống sau mỗi hàng trong tập dữ liệu của mình

Trên thực tế, đây không hẳn là chèn một hàng trống. Phương pháp sắp xếp này chỉ đơn giản là sắp xếp lại dữ liệu bằng cách đặt các hàng trống từ bên dưới tập dữ liệu vào giữa các hàng trong tập dữ liệu

Bạn cũng có thể mở rộng logic tương tự để chèn một hàng trống sau mỗi hai hàng hoặc cứ sau ba hàng

Giả sử bạn có tập dữ liệu như hình bên dưới và bạn muốn lấy một hàng trống sau mỗi hai hàng

Dưới đây là các bước để làm điều này

  1. Chèn một cột trống vào bên trái của tập dữ liệu. Để thực hiện việc này, nhấp chuột phải vào tiêu đề cột của cột ngoài cùng bên trái và nhấp vào Chèn
  2. Nhập văn bản 'HelperColumn' trong A1 (bạn có thể sử dụng bất kỳ văn bản nào bạn muốn)Name the column HelperColumn
  3. Nhập 1 vào ô A2 và 2 vào ô A3
  4. Chọn cả hai ô và đặt con trỏ ở dưới cùng bên phải của vùng chọn. Khi con trỏ thay đổi thành biểu tượng dấu cộng, hãy nhấp đúp vào biểu tượng đó. Điều này sẽ lấp đầy toàn bộ cột với các số tăng dầnAutofill the helper column
  5. Chuyển đến ô được điền cuối cùng trong cột trợ giúp rồi chọn ô bên dưới cột đó
  6. Nhập 2 vào ô này và 4 vào ô bên dưới nó. Chúng tôi đang sử dụng các số theo bội số của 2 vì chúng tôi muốn có một hàng trống sau mỗi hai hàngEnter 2 and 4 in the cells below the data set
  7. Chọn cả hai ô và đặt con trỏ ở dưới cùng bên phải của vùng chọn
  8. Khi con trỏ chuyển thành biểu tượng dấu cộng, hãy nhấp và kéo nó xuống. Điều này sẽ điền vào một dãy số (giống như chúng ta đã có ở bước 3). Hãy chắc chắn rằng bạn nhận được một số lớn hơn những gì bạn có trong tập dữ liệu. Ví dụ: nếu có 10 bản ghi trong tập dữ liệu, hãy đảm bảo rằng bạn nhận được ít nhất cho đến số 10Enter a series of numbers in the helper column
  9. Chọn toàn bộ tập dữ liệu (bao gồm tất cả các ô trong cột trợ giúp)
  10. Nhấp vào tab Dữ liệuClick the Data tab
  11. Nhấp vào tùy chọn Sắp xếpClick the Sort icon in the Data tab
  12. Trong hộp thoại Sắp xếp, hãy sử dụng các cài đặt sau
    • Sắp xếp theo. Người giúp đỡ
    • Sắp xếp. Giá trị ô
    • Trật tự. Nhỏ nhất đến Lớn nhấtSort Dialog Box settings
  13. Nhấp vào OK. Điều này sẽ cung cấp cho bạn tập dữ liệu cuối cùng như được hiển thị bên dưới (với một hàng trống sau mỗi hàng thứ hai của tập dữ liệu)
  14. Xóa cột trợ giúp

Tương tự, trong trường hợp bạn muốn chèn một hàng trống sau mỗi hàng thứ ba, hãy sử dụng các số 3, 6, 9, v.v.

Sử dụng mã VBA đơn giản

Mặc dù bạn cần rất nhiều cách giải quyết để chèn các hàng trống thay thế trong Excel, nhưng với VBA, tất cả chỉ là một miếng bánh

Với mã VBA đơn giản, tất cả những gì bạn cần làm là chọn tập dữ liệu mà bạn muốn chèn một hàng trống vào sau mỗi hàng và chỉ cần chạy mã (chỉ cần một cú nhấp chuột)

Dưới đây là mã VBA sẽ chèn một hàng trống sau mỗi hàng trong tập dữ liệu

Sub InsertAlternateRows()
'This code will insert a row after every row in the selection
'This code has been created by Sumit Bansal from trumpexcel.com
Dim rng As Range
Dim CountRow As Integer
Dim i As Integer
Set rng = Selection
CountRow = rng.EntireRow.Count

For i = 1 To CountRow
    ActiveCell.Offset(1, 0).EntireRow.Insert
    ActiveCell.Offset(2, 0).Select
Next i

End Sub

Đoạn mã trên đếm tổng số hàng trong vùng chọn và sử dụng vòng lặp For Next để duyệt qua từng hàng và chèn một hàng trống sau mỗi hàng hiện có trong tập dữ liệu

Dưới đây là các bước để đặt mã VBA này trong Trình chỉnh sửa VBA trong Excel

  1. Sao chép đoạn mã trên
  2. Chuyển đến tab Nhà phát triển và nhấp vào tùy chọn Visual Basic. Thao tác này sẽ mở Trình soạn thảo VB. Bạn cũng có thể sử dụng phím tắt ALT + F11
  3. Trong VB Editor, nhấp chuột phải vào bất kỳ đối tượng nào trong Project Explorer
  4. Di con trỏ qua tùy chọn Chèn rồi nhấp vào Mô-đun. Điều này sẽ chèn một mô-đun mớiInsert a module in the VB Editor
  5. Trong cửa sổ Mã mô-đun, dán mã ở trênCopy paste code in the Module code window

Khi bạn có mã trong Trình soạn thảo VB, bây giờ bạn có thể sử dụng mã này để chèn các hàng trống sau mỗi hàng khác trong tập dữ liệu

Dưới đây là các bước sử dụng mã để chèn các hàng trống sau mỗi hàng

  1. Chọn toàn bộ tập dữ liệu (ngoại trừ hàng tiêu đề)
  2. Nhấp vào tab Nhà phát triển (trong trường hợp bạn không có tab Nhà phát triển, hãy nhấp vào đây để tìm hiểu cách tải xuống)Click the developer tab
  3. Nhấp vào tùy chọn 'Macro'Click on Visual Basic icon in the Developer tab
  4. Trong hộp thoại Macro, chọn macro – ‘InsertAlternateRows’
  5. Nhấp vào ChạyRun thhe Macro using the Macro dialog box

Đó là nó

Các bước trên sẽ ngay lập tức chèn các hàng trống xen kẽ vào tập dữ liệu

Có nhiều cách khác nhau để chạy macro trong Excel. Ví dụ: nếu bạn phải thực hiện việc này khá thường xuyên, bạn có thể thêm macro này vào Thanh công cụ truy cập nhanh để bạn có thể chạy nó chỉ bằng một cú nhấp chuột