我的数字和字母在B2:B60范围内。
如果单元格B2:B60中有数据,我想在下面插入一行。
因此它看起来像:
A B
1 e -> EntireRow.Insert below
2
3 3 -> EntireRow.Insert below
4 a -> EntireRow.Insert below
5
6 er -> EntireRow.Insert below
7
8 w -> EntireRow.Insert below
我尝试过:
Dim Rng As Range
For Each Rng In Range("B2:B60")
If Is Not Empty (Rng.Value) Then
Rng.Offset(1, 0).EntireRow.Insert
End If
Next
答案 0 :(得分:1)
Option Explicit
Sub EmptyRows()
Dim Rng As Range
For Each Rng In Range("B2:B60")
If Not IsEmpty(Rng) Then
Rng.Offset(1, 0).EntireRow.Insert
End If
Next
End Sub
答案 1 :(得分:1)
可能需要反转循环,以防止在插入新行时数据在执行过程中移出输入范围。不确定For Each
循环如何处理类似的事情。
Sub Main()
Dim R As Range
Set R = Range("Sheet1!C4:C20")
Dim FR As Integer
Dim LR As Integer
FR = 1 ' First Row in R
LR = R.Rows.Count ' Last Row in R
Dim Index As Integer
For Index = LR To FR Step -1
If Not IsEmpty(R(Index)) Then
R(Index).Offset(1, 0).EntireRow.Insert
End If
Next
End Sub