excel - 插入一行
问题描述
嗨,当我尝试在选定的行下插入一行时遇到问题,这里是我正在使用的代码:
For i = 1 To 150
For k = 3 To 20
If Cells(i, 6).value = Cells(k, 19).value Then
Cells(i, 6).EntireRow.Select
Selection.Insert Shift:=xlDown
End If
Next k
Next i
我检查 Cells(I, 6) 的值是否等于 Cells(k, 19) 的值,在这种情况下,我必须在 Cells(I, 6) 下添加一行;问题是它可以工作,但它增加了 20 行而不是 1 行,我该如何解决?
解决方案
我在这里使用 x 作为标志。我也从底部开始,因为如果您添加一个空白行,那么它只会检查空白 = 空白并继续添加更多空白行
Dim i As Integer
Dim f As Boolean
Dim k As Integer
Dim x As Boolean
For i = 150 To 1 Step -1
x = False
For k = 20 To 3 Step -1
If (Cells(i, 6).Value = Cells(k, 19).Value) And Not x Then
Cells(i, 6).EntireRow.Insert Shift:=xlDown
x = True
End If
Next k
Next i
推荐阅读
- google-cloud-platform - 如何根据网络基础设施选择最佳区域 Google Cloud?
- javascript - D3 如何创建一个新的数组形式的多级对象?
- sparql - 限制每个类别的图表数据库响应
- rust - 消耗并分解一个向量?
- java - 无法初始化主类,原因是:java.lang.NoClassDefFoundError: com/mashape/unirest/http/exceptions/UnirestException [JAVA]
- java - CountDownLatch vs AtomicInteger 和一些样板
- kubernetes - Helm RBAC 规则在这些创建的名称中创建命名空间和资源
- c# - 使用延迟加载通过实体框架获取实体父级
- django - django updateview 未显示要形成的现有数据
- go - 如何在 Cloudant/CouchDB 中生成新的 _rev