我在下面创建了一个与excel中的表格类似的示例表,它应该用于说明问题。我想在column1中的每个不同数据之后添加一行(最简单的方法,使用excel,谢谢)。
_
column1 | column2 | column3
----------------------------------
A | small | blue
A | small | orange
A | small | yellow
B | med | yellow
B | med | blue
C | large | green
D | large | green
D | small | pink
_
注意:每个不同列1之后的空白行
column1 | column2 | column3
----------------------------------
A | small | blue
A | small | orange
A | small | yellow
B | med | yellow
B | med | blue
C | large | green
D | large | green
D | small | pink
答案 0 :(得分:15)
这完全符合您的要求,检查行,并在A列的每次更改中插入空行 :
sub AddBlankRows()
'
dim iRow as integer, iCol as integer
dim oRng as range
set oRng=range("a1")
irow=oRng.row
icol=oRng.column
do
'
if cells(irow+1, iCol)<>cells(irow,iCol) then
cells(irow+1,iCol).entirerow.insert shift:=xldown
irow=irow+2
else
irow=irow+1
end if
'
loop while not cells (irow,iCol).text=""
'
end sub
我希望能让你开始,让我们知道!
菲利普
答案 1 :(得分:1)
想出来。
在column1的左侧放置一个新列并复制+粘贴以下公式
= B2 = B3
= B3 = B4
= B4 = B5
...一直到底部(假设这里的B列是原始问题中的column1)。
此公式计算下一行是否为column1中的新值。打开结果,您将获得TRUE或FALSE。将这些结果复制并粘贴为值,然后将“FALSE”替换为nil,将“TRUE”替换为0.5
然后将只有0.5的列添加到column1,这将产生下表:
newcolumn0 | column1 ("B") | column2 | column3
-----------------------------------------------------
| 1 | small | blue
| 1 | small | orange
1.5 | 1 | small | yellow
| 2 | med | yellow
2.5 | 2 | med | blue
3.5 | 3 | large | green
| 4 | large | green
4.5 | 4 | small | pink
最后,复制并粘贴column1中值下面的newcolumn0的值,然后按column1对表进行排序,你应该在column1中的每个不同的整数之间有一个空行,表格如下:
newcolumn0 | column1 ("B") | column2 | column3
---------------------------------------------------------------
| 1 | small | blue
| 1 | small | orange
1.5 | 1.5 | |
| 1 | small | yellow
| 2 | med | yellow
| 2 | med | blue
2.5 | 2.5 | |
| 3 | large | green
3.5 | 3.5 | |
| 4 | large | green
| 4 | small | pink
4.5 | 4.5 | |
=IF(B3=B2,A2,A2+1)
并将此公式复制+粘贴到第2列的其余部分答案 2 :(得分:1)
选择您的阵列,包括列标签,DATA&gt;大纲-Subtotal,每次更改时:column1,使用函数:Count,将小计添加到:column3,选中Replace current subtotals and Summary of Summary数据,OK。
过滤并选择Column1,Text Filters,Contains ...,Count,OK。选择除标签以外的所有可见内容并删除内容。删除过滤器,如果需要,还可以取消组合行。
答案 3 :(得分:1)
如果数据不是连续的(1 2 3 4但是5 7 3 1 5),这将无法工作,因为在这种情况下您无法对其进行排序。
以下是我如何为我解决这个问题:
列每个数字之间需要包含5行的初始数据 - 五 4 6 8 9
B栏 - 1 2 3 4 五 (最后一个数字表示A列中数字之间需要的空行数)B列中的复制粘贴1-5,只要您在A列中有数字。
在D1类型1中跳转到D列。在D2中键入此公式 - =IF(B2=1,1+D1,D1)
将其拖动到与B列相同的长度。
返回C列 - 在C1单元格中键入此公式 - =IF(B1=1,INDIRECT("a"&(D1)),"")
。拖动它,我们完成了。现在在C列中,我们使用与A列相同的数字序列,分别由4行分配。
答案 4 :(得分:0)
只是一个想法,如果你知道上面提到的小,中,大类别......
在工作表的底部,创建3行,只说小,中,大,将字体更改为白色,然后排序,使其按字母顺序排列,在每个部分之间放置一个空行。
答案 5 :(得分:0)
答案 6 :(得分:-1)
我在excel有一个大文件,涉及购买和出售共同基金单位。工作表中的行数超过4000.我没有使用VBA的经验,并且希望使用基本的Excel。从上面提出的解决方案中获取提示,我尝试以下列方式解决问题(自动插入空行):
这种方法也可以由读者尝试。