以下的VBA代码,实现的功能是,在EXCEL表格中,每隔N行就自动插入新的一个空行。
Dim MyStr() As String
Dim MyInsertRowCount '定义变量,每隔多少行插入空行
MyInsertRowCount = 10'
Dim j
j = 0
For i = 1 To Sheet1.UsedRange.Rows.Count
If (i Mod MyInsertRowCount = 0) Then
ReDim Preserve MyStr(i / MyInsertRowCount)
MyStr((i / MyInsertRowCount) - 1) = i
End If
Next i
For Each MyStri In MyStr
If (Trim(MyStri) <> "") Then
Sheet1.Rows(MyStri + 1 + j).Insert
End If
j = j + 1
Next
部分代码说明:
MyInsertRowCount = 10'这个10代表每隔6行插入一空行,可自行修改。
If (i Mod MyInsertRowCount = 0) Then
ReDim Preserve MyStr(i / MyInsertRowCount)
MyStr((i / MyInsertRowCount) - 1) = i
End If
如上代码功能,把应该插入空行的行号,即位置,作个标记,存入动态数组MyStr中。
For Each MyStri In MyStr
If (Trim(MyStri) <> "") Then
Sheet1.Rows(MyStri + 1 + j).Insert
End If
j = j + 1
Next
如上代码功能,将数组中已标记的应该插入空行位置,加上一个变量J之后,实现空行的插入。因为每插入一次空行,行的数据就增加了一行,所以,要准确的起到每隔N行插入空行的效果,必须借助自增量J。