[英]Insert extra row in a loop if a specific requirement is met
对一般编程来说相当新,尤其是在 VBA 中。 如果单元格中满足特定要求,即如果列 B 中的单元格为空白,我正在尝试构建一个添加空白行的代码。 我的数据输入大小不同,因此无法定义我想的特定范围。
数据如下所示:
到目前为止,我的代码看起来像这样,但这只会在 b 列为空时在顶部添加空白行。
For i = 1 To k
If out.Range("B16").Cells(i, 1) = "" Then
out.Rows(i).Insert shift:=xlShiftUp
End If
Next i
我的代码基本上所做的是它在顶部 atm 上添加了一堆行,因此它将表格向下移动 6-7 行。
如果 B 列中的单元格为空白,则需要插入整行。
所以表格变成了这样:
编码:
Sub test123()
Set x = Range("B16")
Do Until x.Offset(1, 0).End(xlToRight).Value = "" And x.Offset(1, 0).End(xlToLeft).Value = ""
If x.Value = "" Then
If x.End(xlToRight).Value <> "" Or x.End(xlToLeft).Value <> "" Then
x.EntireRow.Insert
'x.Offset(-1, 0).Interior.Color = vbGreen
End If
End If
Set x = x.Offset(1, 0)
Loop
End Sub
插入整行的条件是:
1.如果B列有空白单元格
2. 这个空白单元格的左端或右端有值。
如果此空白单元格的左端和右端没有值,则代码将停止
如果我没有弄错你的意思的话。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.