以下是引用TonyDeng在2014-5-23 00:11:10的发言:
列寬度跟字符數根本就是兩回事。字段中的寬度是字符數目,但列(欄)的寬度是像素點數或物理尺寸,更糟糕的是Windows系統下的TrueType字符不是等寬的。在Excel中填數據,若使用動態適應列寬,則每填寫一單元格數據,Excel都會在後臺調整列寬一次,速度可想而知。較快的辦法,是先填數據,最後一次整份文檔調整自適應,無論填什麽數,衹要數據量大到一定程度,就一定不要設置動態調整動作,VBA是解釋型執行語言,速度很慢的。
对列宽的 AutoFit 属性,我有不同的看法。对于 oExcel.Columns(2).AutoFit 来说,它只是让 Excel 将第 2 列的宽度根据该列的“当前内容”调整到合适大小,但并不影响以后输入的内容,也就是说以后不再对列宽进行任何调整了,更不会影响系统的反应速度。列宽的 AutoFit 属性与表单的 AutoCenter 属性、表格列的 AutoFit 属性等是类似的,都是只影响“现在”,不影响“未来”。作为对比,Label 标签的 AutoSize 属性是永久生效的。