繁体   English   中英

如果满足特定要求,则在循环中插入额外的行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM