Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để tự động chèn hàng dựa trên giá trị ô trong Excel?

doc-chèn-hàng-dựa-trên-giá-trị-1
Giả sử bạn có một dải dữ liệu và bạn muốn tự động chèn các hàng trống ở trên hoặc dưới một giá trị nhất định trong Excel, ví dụ: tự động chèn các hàng dưới giá trị XNUMX như ảnh chụp màn hình bên dưới. Trong Excel, không có cách nào trực tiếp có thể giải quyết công việc này, nhưng tôi có thể giới thiệu một mã Macro để bạn tự động chèn các hàng dựa trên một giá trị nhất định trong Excel.
Chèn hàng bên dưới dựa trên giá trị ô với VBA

Chèn hàng ở trên dựa trên giá trị ô với Kutools cho Excel ý kiến ​​hay3

Để chèn hàng dựa trên giá trị ô bằng cách chạy VBA, vui lòng thực hiện theo các bước sau:

1. nhấn Alt + F11 các phím đồng thời và Microsoft Visual Basic cho các ứng dụng cửa sổ bật ra.

2. nhấp chuột Chèn > Mô-đun, sau đó dán mã VBA bên dưới vào cửa sổ bật lên Mô-đun cửa sổ.

VBA: Chèn hàng bên dưới dựa trên giá trị ô.

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.Offset(1, 0).EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

3. nhấp chuột F5 chìa khóa hoặc chạy , một hộp thoại bật ra và chọn cột chứa số không. Xem ảnh chụp màn hình:
doc-chèn-hàng-dựa-trên-giá-trị-2

4. nhấp chuột OK. Sau đó, các hàng trống sẽ được chèn dưới giá trị XNUMX.
doc-chèn-hàng-dựa-trên-giá-trị-3

Mẹo:

1. Nếu bạn muốn chèn các hàng dựa trên giá trị khác, bạn có thể thay đổi 0 thành bất kỳ giá trị nào bạn muốn trong VBA: Nếu Rng.Value = "0" Thì.

2. Nếu bạn muốn chèn các hàng trên XNUMX hoặc giá trị khác, bạn có thể sử dụng mã vba bên dưới.

VBA: Chèn hàng trên giá trị XNUMX:

Sub BlankLine()
	'Updateby20150203
	Dim Rng As Range
	Dim WorkRng As Range
	On Error Resume Next
	xTitleId                   = "KutoolsforExcel"
	Set WorkRng                = Application.Selection
	Set WorkRng                = Application.InputBox("Range", xTitleId, WorkRng.Address, Type: = 8)
	Set WorkRng                = WorkRng.Columns(1)
	xLastRow                   = WorkRng.Rows.Count
	Application.ScreenUpdating = False
	For xRowIndex = xLastRow To 1 Step - 1
		Set Rng                   = WorkRng.Range("A" & xRowIndex)
		If Rng.Value = "0" Then
			Rng.EntireRow.Insert Shift: = xlDown
		End If
	Next
	Application.ScreenUpdating = True
End Sub

doc-chèn-hàng-dựa-trên-giá-trị-4


Nếu bạn không quen với VBA, bạn có thể thử Kutools cho Excel's Chọn các ô cụ thể tiện ích, và sau đó chèn các hàng ở trên.

Kutools cho Excel, với hơn 300 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn. 

Sau khi cài đặt Kutools cho Excel, vui lòng làm như sau:(Tải xuống miễn phí Kutools cho Excel ngay!)

1. Chọn danh sách bạn muốn tìm các ô cụ thể từ đó và nhấp vào Kutools > Chọn > Chọn các ô cụ thể. Xem ảnh chụp màn hình:
doc chèn hàng dựa trên giá trị 9

2. Trong hộp thoại bật lên, hãy kiểm tra Toàn bộ hàng tùy chọn, và sau đó đi đến chọn equals từ Loại cụ thể danh sách, rồi nhập giá trị bạn muốn tìm vào hộp văn bản bên phải. Xem ảnh chụp màn hình:
doc chèn hàng dựa trên giá trị 6

3. nhấp chuột Okvà một hộp thoại bật ra để nhắc bạn số lượng hàng đã chọn, chỉ cần đóng nó lại.

4. Đặt con trỏ tại một hàng đã chọn và nhấp chuột phải để chọn Chèn từ menu ngữ cảnh. Xem ảnh chụp màn hình:
doc chèn hàng dựa trên giá trị 7

Bây giờ các hàng được chèn ở trên dựa trên một giá trị cụ thể.
doc chèn hàng dựa trên giá trị 8


Các bài báo tương đối:


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (43)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn dán nội dung cụ thể dưới ô bên dưới. Làm thế nào để làm điều đó? Thay vì hàng Trống, tôi muốn chèn giá trị vào một vài cột.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi muốn chèn nhiều hàng dựa trên giá trị Ví dụ: Tôi muốn chèn 1 hàng trống bên dưới ô có giá trị 2, 2 hàng bên dưới ô có giá trị 3, 3 hàng bên dưới ô có giá trị 4, v.v. Bạn được không. Xin hãy giúp tôi với?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
DId bạn có bao giờ nhận được câu trả lời cho điều này? Tôi đang cố gắng làm điều tương tự.

Có danh sách nhân viên có số tuần nghỉ phép mà họ nhận được. Tôi muốn chèn một hàng cho mỗi tuần. Nó sẽ là 1, 2 hoặc 3 hàng tùy thuộc vào lượng thời gian họ kiếm được. các số 1 2 3 đã có trong bảng tính của tôi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi muốn chèn các hàng dựa trên số lượng bằng cách sử dụng một giá trị ô trong một bảng tính và chèn các hàng trong một bảng tính khác.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn tin nhắn của bạn. Nhưng bạn có thể giải thích câu hỏi của mình với nhiều chi tiết hơn không? Bạn muốn chèn những hàng nào? Chỗ trống? Và bạn muốn chèn ở đâu trong trang tính? Nếu bạn có thể, hãy cho tôi một số ảnh chụp màn hình. Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi yêu bạn. Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Thật là tuyệt vời !!. Cảm ơn anh bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để tôi có thể chèn nhiều hơn một hàng?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn có thể thử VBA này

Sub BlankLine ()
'Updateby20150203
Dim Rng Như Phạm vi
Dim WorkRng As Range
Dim xInsertNum càng lâu càng tốt
'On Error Tiếp tục Tiếp theo
xTitleId = "Kutools cho Excel"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
Nếu WorkRng Không Có Gì Thì Thoát Sub
xInsertNum = Application.InputBox ("Số hàng trống bạn muốn chèn", xTitleId, Loại: = 1)
Nếu xInsertNum = Sai thì
MsgBox "Số hàng trống bạn muốn chèn", vbInformation, xTitleId
Thoát Sub
Cuối Nếu
Đặt WorkRng = WorkRng.Columns (1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Sai
Đối với xRowIndex = xLastRow Tới 1 Bước -1
Đặt Rng = WorkRng.Range ("A" & xRowIndex)
Nếu Rng.Value = "0" Thì
Rng.Resize (xInsertNum) .EntireRow.Insert Shift: = xlDown
Cuối Nếu
Sau
Application.ScreenUpdating = True
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
nếu bạn muốn chèn các hàng trống bên dưới, hãy thử điều này

Sub BlankLine ()
'Updateby20150203
Dim Rng Như Phạm vi
Dim WorkRng As Range
Dim xInsertNum càng lâu càng tốt
'On Error Tiếp tục Tiếp theo
xTitleId = "Kutools cho Excel"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
Nếu WorkRng Không Có Gì Thì Thoát Sub
xInsertNum = Application.InputBox ("Số hàng trống bạn muốn chèn", xTitleId, Loại: = 1)
Nếu xInsertNum = Sai thì
MsgBox "Số hàng trống bạn muốn chèn", vbInformation, xTitleId
Thoát Sub
Cuối Nếu
Đặt WorkRng = WorkRng.Columns (1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Sai
Đối với xRowIndex = xLastRow Tới 1 Bước -1
Đặt Rng = WorkRng.Range ("A" & xRowIndex)
Nếu Rng.Value = "0" Thì
Rng.Offset (1, 0) .Resize (xInsertNum) .EntireRow.Insert Shift: = xlDown
Cuối Nếu
Sau
Application.ScreenUpdating = True
End Sub

Cái bên dưới là để chèn các hàng bên trên.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Sunny, macro này hoạt động hoàn hảo đối với tôi; tôi chỉ cần thay đổi số lượng hàng thành 30 và thay đổi số 0 thành văn bản: "Số dư cuối kỳ". Nhưng bây giờ tôi muốn sao chép dán một lựa chọn các ô cao 30 hàng vào 30 dòng trống vừa được chèn bởi macro này. Bạn có thể đề xuất một macro mới (hoặc một bản sửa đổi cho cái này) để sao chép và dán một dải ô vào mỗi dòng 30 ô. Tôi đã đặt tên cho phạm vi để sao chép và dán 'mẫu'.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cần sự giúp đỡ rất lớn về chủ đề này. Tôi có 2 cột, ở cột thứ nhất, tôi có thời gian dữ liệu 1/01/01 2016:05:00, ngày / tháng / năm giờ / phút / giây và ở cột thứ 00 là dữ liệu tương ứng được liên kết với thời gian.

Vấn đề của tôi là tôi muốn thêm thời gian dữ liệu giữa các hàng vì tôi có khoảng cách ngày. Dòng đầu tiên là 1/01/01 và hàng thứ 2016, ví dụ, 2/10/01, vì vậy tôi có 2016 ngày. và mã đó không hoạt động với tôi.

Mong nhận được một số phản hồi, xin vui lòng! Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Bạn có thể thử VBA này

Sub InsertValueBetween ()
'Cập nhật 20130825
Dim WorkRng As Range
Dim Rng Như Phạm vi
Dim outArr dưới dạng biến thể
Dim dic Là biến thể
Đặt dic = CreateObject ("Scripting.Dictionary")
'On Error Tiếp tục Tiếp theo
xTitleId = "KutoolsforExcel"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
num1 = WorkRng.Range ("A1"). Giá trị
num2 = WorkRng.Range ("A" & WorkRng.Rows.Count) .Value
khoảng = num2 - num1
ReDim outArr (1 Đến khoảng + 1, 1 đến 2)
Đối với mỗi Rng trong công việc
dic (Rng.Value) = Rng.Offset (0, 1) .Value
Sau
Đối với i = 0 Đến khoảng thời gian
outArr (i + 1, 1) = i + num1
If dic.Exists (i + num1) Sau đó
outArr (i + 1, 2) = dic (i + num1)
Khác
outArr (i + 1, 2) = ""
Cuối Nếu
Sau
Với WorkRng.Range ("A1"). Thay đổi kích thước (UBound (outArr, 1), UBound (outArr, 2))
.Value = outArr
.Lựa chọn
Kết thúc với
End Sub


Hoặc nếu bạn có Kutools cho Excel, bạn có thể thử chức năng này:
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn rất nhiều, tôi đã thử cả hai, cái đầu tiên vì tôi có 1 hàng dữ liệu, tôi làm điều đó cho tất cả 500 hàng và không làm gì cả, tôi nghĩ có lẽ nó có giới hạn đối với các hàng để sử dụng, và Ví dụ: khi tôi chỉ chọn 500 hàng đầu tiên, nó không tạo ra các hàng bị thiếu, thay thế các hàng cho dữ liệu bị thiếu.

Một vấn đề khác mà tôi gặp phải là dữ liệu thời gian của tôi cũng có Ngày / Tháng / Năm HH: MM: SS
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Từ 2 đến 3, nó tạo ra dữ liệu bị thiếu mà tôi muốn, nhưng giá trị của ngày 03/01/2016 bị loại bỏ và có một số dữ liệu thời gian bị loại bỏ mà tôi cũng không muốn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất tiếc, mã VBA không giúp được bạn, tôi không thể tìm thấy phương pháp có thể hoạt động cho định dạng ngày và giờ. Nếu bạn tìm thấy giải pháp cuối cùng, bạn có thể cho tôi biết được không? Cảm ơn bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào một lần nữa Sunny, tôi đã thành công khi chỉnh sửa mã thành này (tôi thay đổi dòng num1 thành A2 và Với WorkRng.Range ("A2: A100000"). Thay đổi kích thước (UBound (outArr, 1), UBound (outArr, 2)) ):


Sub InsertValueBetween ()
'Cập nhật 20130825
Dim WorkRng As Range
Dim Rng Như Phạm vi
Dim outArr dưới dạng biến thể
Dim dic Là biến thể
Đặt dic = CreateObject ("Scripting.Dictionary")
'On Error Tiếp tục Tiếp theo
xTitleId = "KutoolsforExcel"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
num1 = WorkRng.Range ("A2"). Giá trị
num2 = WorkRng.Range ("A" & WorkRng.Rows.Count) .Value
khoảng = num2 - num1
ReDim outArr (1 Đến khoảng + 1, 1 đến 2)
Đối với mỗi Rng trong công việc
dic (Rng.Value) = Rng.Offset (0, 1) .Value
Sau
Đối với i = 0 Đến khoảng thời gian
outArr (i + 1, 1) = i + num1
If dic.Exists (i + num1) Sau đó
outArr (i + 1, 2) = dic (i + num1)
Khác
outArr (i + 1, 2) = ""
Cuối Nếu
Sau
Với WorkRng.Range ("A2: A100000"). Thay đổi kích thước (UBound (outArr, 1), UBound (outArr, 2))
.Value = outArr
.Lựa chọn
Kết thúc với
End Sub



Tôi cho bạn xem đồ thị, nó không hoạt động 100% vì nó không tạo ra thời gian từ A1 đến A2
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Đây là câu hỏi của tôi và nó là một câu hỏi rất khó tôi đoán .. có mã vba nào thêm một hàng mới bên dưới một cột đã lọc và chỉ sao chép ba ô đầu tiên vào hàng mới đã thêm và tiếp tục làm như vậy cho đến khi người dùng ngừng nhấn không "nhập" và bỏ lọc các ô đã lọc?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Câu hỏi của bạn hơi khó và phức tạp, bạn có thể đặt câu hỏi trong diễn đàn của chúng tôi, biết đâu sẽ có người trả lời bạn. https://www.extendoffice.com/forum.html
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xin chào Tôi chỉ muốn hỏi cách thêm hàng nếu điều kiện là thêm hàng nên được thực hiện khi một ô đã có dữ liệu (Nó dành cho sổ làm việc excel có nhiều trang tính :) Cảm ơn!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
có lẽ mã vba này có thể giúp bạn. Nó sẽ thêm hàng nếu hàng trên không trống

Sub giúp ()
Dim đếm As Long
Đối với count = ActiveSheet.UsedRange.Rows.count Tới 1 Bước -1
If Information.IsEmpty (Cells (count, 1)) = False Then Rows (count + 1).
Lượt tiếp theo
End Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đang cố gắng sử dụng mã này để nhập một hàng khi 4 chữ số đầu tiên trong ô thay đổi (nếu điều đó thậm chí có thể)

ví dụ,
2222A
2222B
2223K


dòng sẽ được chèn sau 2222B vì số thứ 3 là số 3 chứ không phải số 2

Cảm ơn các bạn!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Cảm ơn vì điều này, tuy nhiên tôi có một tình huống khác mà tôi cần phải chèn một ô cingle dưới giá trị không phải là XNUMX. Đánh giá cao bất kỳ đề nghị.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Gina, tôi chỉ tìm thấy mã để chèn hàng trống phía trên ô không trống, có thể ai đó có thể điều chỉnh nó để đáp ứng nhu cầu của bạn.

Sub Insert_Rows ()
Dim LR As Long, r As Long

Application.ScreenUpdating = Sai
LR = Range ("A" & Rows.Count) .End (xlUp) .Row
Đối với r = LR đến 1 bước -1
If Len (Range ("A" & r) .Value)> 0 Thì
Rows (r) .Insert
Cuối Nếu
Tiếp theo r
Application.ScreenUpdating = True
End Sub

đến từ https://www.mrexcel.com/forum/excel-questions/548675-adding-blank-line-above-row-non-blank-cell.html
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, điều này rất hữu ích. Điều gì sẽ xảy ra nếu tôi muốn thêm hai dòng bên dưới và tôi muốn thêm giá trị. Ví dụ: tôi muốn thêm hai dòng sau giá trị 26/04/2019 và sau đó hai dòng sau 03/04/2019 và danh sách vẫn tiếp tục. Làm cách nào để tiếp tục thêm vào vba? Xin lỗi tôi vẫn là một người mới bắt đầu. Cảm ơn trước.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Safa, có thể bạn có thể thử tiện ích chèn hàng / cột trống của Kutools.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sub BlankLine ()
'Updateby20150203
Dim Rng Như Phạm vi
Dim WorkRng As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
Đặt WorkRng = WorkRng.Columns (1)
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Sai
Đối với xRowIndex = xLastRow To 1 Step - 1
Đặt Rng = WorkRng.Range ("A" & xRowIndex)
Nếu Rng.Value = "0" Thì
Rng.EntireRow.Insert Shift: = xlDown
Cuối Nếu
Sau
Application.ScreenUpdating = True
End Sub


Tôi cần cái này hoạt động mỗi khi tôi đặt thứ gì đó vào ô và với nhiều biến hơn. Ý tôi là nếu tôi đặt 2 vào ô, tôi cần nó chèn 2 hàng chứ không chỉ 1.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cần macro để thêm hàng dựa trên cột số lượng trong đó nếu qty lớn hơn 1, nó sẽ chèn số hàng -1. Nếu số lượng là 5, nó sẽ chèn 4 hàng bên dưới nó và điền vào dữ liệu và thay đổi qty được gọi từ 5 thành 1 mỗi hàng. Bỏ qua tất cả qty 1.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cho tôi biết mã nơi tôi muốn thêm một số hàng cụ thể dựa trên giá trị ô. ví dụ: nếu ô chứa chữ số 18, 18 hàng sẽ tự động được thêm vào nơi tôi muốn và phần còn lại của bảng / ô sẽ dịch chuyển xuống dưới.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất cảm ơn vì điều này, thực sự là một tiết kiệm thời gian rất nhiều. Có thể thêm một số mã cho phép tôi chèn một số văn bản vào hàng mới không. Ví dụ: tôi đang chèn các hàng mới dựa trên giá trị mục tiêu 'x', sau đó tôi muốn thêm giá trị văn bản 'y' vào ô bên dưới giá trị mục tiêu 'x'. Điều này có khả thi không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào. Macro hoạt động đối với tôi nhưng có cách nào để luôn đặt phạm vi / tham số luôn thành cột J mà không xuất hiện hộp đầu vào nào không? Tôi muốn nó bỏ qua bước của hộp nhập liệu sắp tới. Ngoài ra, tôi đã đảm bảo rằng ngay trước macro này rằng dòng cuối cùng của macro trước đó của tôi là Phạm vi ("J: J"). Hãy chọn để đảm bảo rằng toàn bộ cột J đã được chọn.
Đây là những gì tôi đã được sử dụng cho đến nay.

Dim Rng Như Phạm vi
Dim WorkRng As Range
On Error Resume Next
xTitleId = "Nhấp vào OK để tiếp tục"
Đặt WorkRng = Application.Selection
Đặt WorkRng = Application.InputBox ("Phạm vi", xTitleId, WorkRng.Address, Loại: = 8)
Đặt WorkRng = WorkRng.Columns (1)
SendKeys "~"
xLastRow = WorkRng.Rows.Count
Application.ScreenUpdating = Sai
Đối với xRowIndex = xLastRow Tới 1 Bước -1
Đặt Rng = WorkRng.Range ("A" & xRowIndex)
Nếu Rng.Value = "Dòng GMS mới" Thì
Rng.EntireRow.Insert Shift: = xlDown
Cuối Nếu
Sau


Tôi đã thử thử nghiệm bằng cách sử dụng lệnh SendKeys "~" giữa một số bước để thử và làm cho nó tự động nhấn enter khi hộp nhập xuất hiện nhưng điều đó cũng không hoạt động. Tôi không chắc chắn nơi chính xác để sử dụng lệnh SendKeys trong macro hoặc liệu nó có hoạt động với hộp nhập liệu không!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
làm ơn giúp tôi có dữ liệu. Tôi có dữ liệu thời gian một tháng, trong đó tôi phải chèn các hàng trống theo thời gian thoát
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, hr.babu08, xin lỗi trả lời trễ. Tôi đoán bạn muốn chèn các hàng trống hoặc đánh dấu cho dữ liệu trình tự bị thiếu, nếu vậy, bạn có thể thử Kutools cho tính năng Tìm số thứ tự bị thiếu của Excel. Dưới đây là hướng dẫn về tính năng này: https://www.extendoffice.com/product/kutools-for-excel/excel-find-missing-numbers-in-sequence.htmlIf bạn muốn các phương pháp khác để chèn các hàng trống cho trình tự bị thiếu, vui lòng truy cập:https://www.extendoffice.com/documents/excel/3522-excel-find-missing-dates.html</div>;
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào,
Có thể sử dụng / thay đổi marco này cho các ô màu không?
Tôi cần chèn ít nhất 10 hàng phía trên cuối mỗi chuỗi được tô màu.
Thx!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cần thêm các hàng cụ thể với các giá trị trong đó cho nội dung ô cụ thể, nhưng không biết chắc cách làm như vậy mà không phải thực hiện thủ công cho hơn 3800 dòng

Ví dụ: A1 = Node1
Tôi cần chèn một hàng và nhập giá trị Máy quét
Nhập một hàng khác và nhập giá trị Máy in
một hàng khác với giá trị CD.
Vv
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào Chris, đây là một VBA có thể giúp bạn tự động chèn ba hàng (Máy quét, Máy in, CD) khi giá trị bằng Node1.
Sub BlankLine()
'ByExtendoffice
Dim Rng As Range

Dim WorkRng As Range

Dim xRngI As Range

On Error Resume Next

xTitleId = "KutoolsforExcel"

Set WorkRng = Application.Selection

Set WorkRng = Application.InputBox("Select a range", xTitleId, WorkRng.Address, Type:=8)

Set WorkRng = WorkRng.Columns(1)

xLastRow = WorkRng.Rows.Count

Application.ScreenUpdating = False

For xRowIndex = xLastRow To 1 Step -1

  Set Rng = WorkRng.Range("A" & xRowIndex)

  If Rng.Value = "Node1" Then

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).EntireRow.Insert Shift:=xlDown

    Rng.Offset(1, 0).Value = "Scanner"

    Rng.Offset(2, 0).Value = "Printer"

    Rng.Offset(3, 0).Value = "CD"

  End If

Next

Application.ScreenUpdating = True

End Sub

Xin vui lòng cho tôi biết nếu làm việc cho bạn.
Không có bình luận nào được đăng ở đây
Tải thêm

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL