excel2003单元格格式太多的问题(在线等待)
背景:在使用VBA把很多个Excel文件合并到一个Excel文件的时候(合并后最多的时候有1000页左右),合并后生成的Excel文件打不开,提示是单元格的格式太多,无法加载,原因是在Excel2003里面每个Excel文件的单元格的格式最多可以有4000个,超过这个数字就有问题,一般来讲是不会超过4000个的。
现在的要求是这样的,我做报表的时候需要读取很多的单个excel文件,把这些单独的excel文件原封不动的一起放到一个excel文件中,做成一个新的excel文件,但是在使用vba进行excel合并(就是简单的一个sheet一个sheet的进行拷贝)的时候出现这样一个问题,合并后的那个文件的单元格的格式可能会超过excel2003的上限值(4000),导致拷贝不成功,各位高手有没有什么好的办法可以解决这个问题。
现在想到的是减少合并后的excel文件的单元格的格式,但是不知道vba里面是怎么对单元格的格式进行封装的,需要怎么进行处理,还请各位高手帮忙。。。。
[解决办法]
不可以改变你的设计吗,为什么非要这么考验极限,这会导致好多不稳定
[解决办法]
我觉得,应该把数据的报表中分开,由数据生成报表
这样格式就可以减少。
[解决办法]
这没办法,EXCEL2003本身就是这个限制。
Range("A1:A2").Select Range("A2").Activate Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone With Selection.Borders(xlEdgeLeft) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeRight) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlInsideHorizontal) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End WithEnd Sub
[解决办法]