我想要实现的是在包含列A文本“rich”的特定行之后插入新行的数量,并且如果同一行中的列B包含的值小于10在该行之后插入2行。但如果同一行中的列B包含的值较高,则在该行后面插入1行。我不是编写循环代码的最佳人选。我会感谢任何帮助。如果满足2个条件,VBA插入新行
-3
A
回答
1
我管理了一段时间:)
Sub macro1()
Range("A1").Select
' remember the last row that contains a value
Dim LastRow As Integer
Dim CurrentRow As Integer
LastRow = Range("A1").End(xlDown).Row
CurrentRow = 1
' keep on incrementing the current row until we are
' past the last row
Do While CurrentRow <= LastRow
' if the desired string is found, insert a row above
' the current row
' That also means, our last row is going to be one more
' row down
' And that also means, we must double-increment our current
' row
If Range("A" & CurrentRow).Value = "rich" And Range("B" & CurrentRow).Value > 10 Then
Range("A" & CurrentRow + 1).EntireRow.Insert xlIp
Range("A" & CurrentRow + 1).EntireRow.Insert xlIp
LastRow = LastRow + 2
CurrentRow = CurrentRow + 1
ElseIf Range("A" & CurrentRow).Value = "rich" And Range("B" & CurrentRow) < 10 Then
Range("A" & CurrentRow + 1).EntireRow.Insert xlUp
LastRow = LastRow + 1
CurrentRow = CurrentRow + 1
End If
' put the pointer to the next row we want to evaluate
CurrentRow = CurrentRow + 1
Loop
End Sub
+1
你在第一个'if'不应该是'CurrentRow = CurrentRow + 2'吗? –
+1
您也可以将'Range(“A”&CurrentRow + 1).EntireRow.Insert xlIp'改为'Rows(CurrentRow + 1&“:”&CurrentRow + 2)。插入' –
+0
嗯可能是的,但代码以某种方式工作:D – eurano
相关问题
- 1. 插入空格,如果条件满足
- 2. 如果条件满足,则插入
- 3. VBA宏如果表值满足条件
- 4. 如果在“表”中满足条件,插入“表1”2 SQL
- 5. Excel VBA中添加新的行如果条件满足
- 6. 插件如果条件满足
- 7. PHP的MySQL更新和插入,如果条件满足
- 8. 如果在另一个表中满足条件,MySQL插入
- 9. Matlab-如果条件满足
- 10. 如果满足条件
- 11. SQL如果条件满足
- 12. VBA代码如果条件不满足,Stlll进入循环
- 13. 打印行,如果条件满足,R
- 14. Excel VBA如果在遇到不满足条件时执行
- 15. 在VBA删除行,如果满足一定条件
- 16. 插入MySQL测试,如果条件满足则取消
- 17. 如果满足条件,则选择并检查并插入
- 18. 如果满足条件,如何在MySQL中选择一行,如果条件不满足,则选择另一行?
- 19. VBA转置循环并在满足条件时开始新行
- 20. 如果任何元件满足条件
- 21. 加入不满足条件
- 22. SQL结果表满足两个条件
- 23. 如何终止,如果条件满足
- 24. VBA - 如果条件满足,然后把公式另一列
- 25. 满足条件
- 26. 插入几个行以满足约束
- 27. 满足条件的行数
- 28. 如果条件不满足替代值从那里条件满足
- 29. 如果满足条件,则替换字
- 30. 的Python如果条件满足,打印“...”
你尝试过自己以后做呢?你可以在这里寻找帮助:http://stackoverflow.com/questions/1463236/loop-through-each-row-of-a-range-in-excel 和在这里: http://stackoverflow.com/questions/15816883/excel-vba-inserted-blank-row-and-shifting-cells – Wouter