我创建了一个示例表下面类似,足够我在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
_
所需的表
注意:空行的每个不同COLUMN1后
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
这不正是你所要求的,检查行,并在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的左侧和复制粘贴+以下公式
= B2 = B3
= B3 = B4
= B4 = B5
......一路下(这里假设B列在原来的问题列1)。
这个公式计算下一行是否是在COLUMN1一个新值。 Deopending的结果,你将有TRUE或FALSE。 复制和粘贴这些结果作为值,然后交换为无“FALSE”和“TRUE” 0.5
第2步
然后添加列满只有0.5的对列1,这将产生如下表:
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
第3步
最后,复制和粘贴正下方在列1的值从newcolumn0值,然后通过COLUMN1排序表,你应该有一个空行中列1每个不同的整数之间,该表是这样的:
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 | |
替代解决方案(仍然没有VBA)
- 把1列1,行2的值(假设这是A2)
- 把该式中A3
=IF(B3=B2,A2,A2+1)
并复制+粘贴此公式塔2的其余部分 - 然后复制并从第1列的所有值粘贴到一个新的临时的Excel工作表,删除重复,再加入0.5到所有数字,然后将其粘贴在下面在第1列中的数据低于原始电子表格中的值时,这些值中,粘贴的所有数据在列值,然后排序该列,删除临时excel工作表
选择您的阵列,包括列标签,DATA>大纲-Subtotal,在每个变化:列1,使用功能:计数,添加小计:栏3,检查以下数据替换当前分类汇总和总结,确定。
过滤和选择列1,文本过滤,包含......,计数,确定。 从标签中选择所有可见除了和删除的内容。 除去过滤器,并且如果需要的话,取消分组的行。
如果数据是不连续的,如不能进行排序认为情况下,这将无法正常工作(1 2 3 4 5但7 3 1 5)。
这是我如何解决这个问题对我来说:
列,需要一个初始数据包含每个数字之间5行 - 5 4 6 8 9
列B - 1 2 3 4 5(最终数字表示你需要在列A中的数字之间的空行数)列B复制 - 粘贴1-5只要有在列A中的数字
跳转到d柱,在D1型1.在D2型该式- =IF(B2=1,1+D1,D1)
将其拖动到相同的长度列B.
回到列C -在C1细胞类型这个公式- =IF(B1=1,INDIRECT("a"&(D1)),"")
它拖垮,我们做了。 现在,在列C中有号码的相同序列如在由4行分别分布A栏。
只是一个想法,如果你知道的类别,如小型,中型和大型上述...
在片材的底部,使3行,只有说小,中,大,字体变为白色,然后再排序,以便它按字母顺序排列,将每个部分之间的空白行。
我在Excel中的一个大文件处理共同基金单位的买卖。 在工作表中的行数超过4000。我有VBA没有经验,愿与基本的Excel工作。 以从上面所建议的解决方案的提示,我试图解决问题(插入自动空白行)以下面的方式:
- 我根据控制字段排序我的文件
- 我添加了一个列到文件
- 我用“IF”函数,以确定当在控制数据中的变化。
- 如果有变化的结果将显示“是”,否则“不”
- 然后,我过滤的数据组中的所有“是”项目
- 我复制了基金的名字,对开号码等(没有财务数据)
- 然后,我删除了过滤器并重新排序的文件。 结果是在所需的地方添加了一行。 (这不完全是一个空白行,因为如果它是完全空白的,排序不会行发生在所需的地方。)
- 排序后,您可以轻松地删除所有的值来获得一个完全空白行。
这种方法也可以由读者进行审判。