首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

excel2003单元格格式太多的有关问题(待)

2012-01-24 
excel2003单元格格式太多的问题(在线等待)背景:在使用VBA把很多个Excel文件合并到一个Excel文件的时候(合

excel2003单元格格式太多的问题(在线等待)
背景:在使用VBA把很多个Excel文件合并到一个Excel文件的时候(合并后最多的时候有1000页左右),合并后生成的Excel文件打不开,提示是单元格的格式太多,无法加载,原因是在Excel2003里面每个Excel文件的单元格的格式最多可以有4000个,超过这个数字就有问题,一般来讲是不会超过4000个的。

现在的要求是这样的,我做报表的时候需要读取很多的单个excel文件,把这些单独的excel文件原封不动的一起放到一个excel文件中,做成一个新的excel文件,但是在使用vba进行excel合并(就是简单的一个sheet一个sheet的进行拷贝)的时候出现这样一个问题,合并后的那个文件的单元格的格式可能会超过excel2003的上限值(4000),导致拷贝不成功,各位高手有没有什么好的办法可以解决这个问题。
现在想到的是减少合并后的excel文件的单元格的格式,但是不知道vba里面是怎么对单元格的格式进行封装的,需要怎么进行处理,还请各位高手帮忙。。。。

[解决办法]
不可以改变你的设计吗,为什么非要这么考验极限,这会导致好多不稳定
[解决办法]
我觉得,应该把数据的报表中分开,由数据生成报表

这样格式就可以减少。
[解决办法]
这没办法,EXCEL2003本身就是这个限制。

引用功能 |最大限制
----------------------------+-------------------------
打开的工作簿个数 |受可用内存和系统资源的限制
工作表大小 |65,536 行乘以 256 列
列宽 |255 个字符
行高 |409 磅
分页符个数 |水平方向 1000 个;垂直方向 1000 个
单元格内容(文本)的长度 |32,767 个字符。单元格中只能显示 1,024 个字符;而编辑
| 栏中可以显示全部 32,767 个字符。
工作簿中的工作表个数 |受可用内存的限制(默认为 3 个工作表)
工作簿中的颜色数 |56
工作簿中的单元格样式种类 |4,000
工作簿中命名视图个数 |受可用内存限制
自定义数字格式种类 |受可用内存限制
工作簿中的名称个数 |受可用内存限制
工作簿中的窗口个数 |受系统资源限制
窗口中的窗格个数 |4
链接的工作表个数 |受可用内存限制
方案个数 |受可用内存的限制;汇总报表只显示前 251 个方案
方案中的可变单元格个数 |32
规划求解中的可调单元格个数 |200
自定义函数个数 |受可用内存限制
缩放范围 |10% 到 400%
报表个数 |受可用内存限制
排序引用的个数 |单个排序中为 3,如果使用连续排序则没有限制
撤消层次 |16
数据窗体中的字段个数 |32
工作簿中的自定义工具栏个数 |受可用内存限制
自定义工具栏按钮个数 |受可用内存限制

[解决办法]
试试宏录制。然后编辑宏,就知道修改单元格格式的代码了
VB code
    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
[解决办法]
探讨
引用:
我觉得,应该把数据的报表中分开,由数据生成报表

这样格式就可以减少。

这些数据都是从报表中来的,由多个报表合并在一起生成一个总的报表,格式什么的都不能改变,说白了就是把很多的excel文件合并成一个excel文件

热点排行