由于RowNumber实在是不能返回分组行数,所以只好用自定义代码(不过,自定义代码的提示有够滥,明明已经写了此函数,却用Code得不到提示)。
好了,具体实现过程如下:
在自定义代码中加入如下代码,幸好自定义代码中可以定义模块变量,否则此方法也没戏了
 
public rowIndex1 as integer
public rowIndex2 as integer
public rowIndex3 as integer
public rowIndex4 as integer
public rowIndex5 as integer
public rowIndex6 as integer
‘自动计算+1,并返回+1后的新的行数
Function getRowNumber(flag1 As integer)As integer
	select case flag1
		case 1
			rowIndex1  +=1
			return rowIndex1 
		case 2
			rowIndex2  +=1
			return rowIndex2 
		case 3
			rowIndex3  +=1
			return rowIndex3 
		case 4
			rowIndex4  +=1
			return rowIndex4 
		case 5
			rowIndex5  +=1
			return rowIndex5 
		case 6
			rowIndex6  +=1
			return rowIndex6 	
		case else
			return 0
	end select
End Function
’返回当前行索引的当前值。
Function getRowCount(flag1 As integer)As integer
	select case flag1
		case 1
			return rowIndex1 
		case 2
			return rowIndex2 
		case 3
			return rowIndex3 
		case 4
			return rowIndex4
		case 5
			return rowIndex5 
		case 6
			return rowIndex6 	
		case else
			return 0
	end select
End Function
在需要自动计算行数的地方,放置如下代码:
= Code.getRowNumber(1)
 
如要获取当前行数的当前值,放置如下代码:
= Code.getRowCount(1)

不能用如下方法来替换

=IIf(Code.getRowCount(1) Mod 2, "PaleGreen", "White")
这个方法
=IIf(RowNumber(Nothing) Mod 2, "PaleGreen", "White")
因为,生成背景色是在数据生成这前,所以如果用getRowCount方法来设置行的颜色的话,第一列行索引列颜色会与后面的不同,因为此时是刚计算行索引号,在设置背景时,行索引的值还是上一行的,除非行索引列是隐藏的。