1、把鼠标点击在需要插入行的有数据后面的无数据处第一列(E)处输入数字1
2、在无数据的第二列(F)处输入数字2
3、选中数字1、2处单元格向下填充,一直到你需要插入的地方为止
4、全选所有的填充数据(向下填充完数值后,其实也就处于全选状态),然后定位(CTRL+G)-定位条件-空值-确定
5、在空值处点击右键-插入-整行-确定就可以了
方法很多,给你个用公式解决的方法
比方说,数据在B1到F1000,共1000行
第一步、在其后的空闲列,比方说G列的G1中输入公式=IF((MOD(ROW(),4)=1)+(MOD(ROW(),4)=2),1,0) 然后把公式拖拽覆盖到最后一行,这样就 添加了一个辅助列;
第二步,在H1中输入公式=IF($G1=0,"",INDIRECT(ADDRESS(COUNTIF($G$1:$G1,1),COLUMN(B1)))),把公式向右拖拽到L列(与原记录列数相同),再同时选中H1至L1区域,向下拖拽覆盖到末行,就O了。
当然,只用用一个复杂些的数组嵌套公式,就可以搞定,不想费脑筋啦,哈哈
下图是你要的结果吧
Sub 排组()Dim i As Long
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Long
Dim e As Long
Dim k As Long
i = WorksheetFunction.CountA(Range("a:a"))
For j = 1 To i * 2
a = Cells(j, 1)
b = Cells(j + 1, 1)
c = Cells(j + 2, 1)
If Int(a / 10) <>Int(b / 10) Then
Cells(j + 1, 1).Insert shift:=xlDown
j = j + 1
ElseIf b = c Then
Cells(j + 1, 1).Insert shift:=xlDown
k = 0
GoSub 1
j = k + j + 1
Cells(j + 1, 1).Insert shift:=xlDown
j = j + 1
End If
Next j
Exit Sub
1: Do
k = k + 1
d = Cells(j + 1 + k, 1)
e = Cells(j + 2 + k, 1)
If d = 0 Then Exit Do
Loop Until d <>e
Return
End Sub
先复制一下你的原数据到新的地方,运行一下,试试一下合不合你的要求
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)