006 Excel困局:宏的初次尝试 (第1/2页)
夜色沉得发暗,书桌上的台灯泛着昏黄的光。陈帆的手指在键盘上停了几秒,又重新敲下最后一个数字。屏幕里,Excel表格的最后一行数据终于填满。他往后靠了靠,脊背贴着木椅,眼睛盯着那列密密麻麻的价格记录,一动不动。
三周的数据,全被他一个数字一个数字地输进了这台老电脑。纸页翻得起了毛边,剪报按日期码在抽屉角落,每一笔都来自清晨六点校门口的第一份《中国证券报》。现在它们变成了电子表格里的字符,整齐排列,像一支等待检阅的队伍。
可他知道,这些数字不一定准。
三天前操场上的粉笔线还在他脑子里晃着。王浩塞过来的五百块钱压在书包夹层,没人知道那张纸条背后的代价——手绘K线时差了0.1元,收盘价标低了一格,误差率2%。这点偏差在操场上没人看得出,在系统里却是致命的裂痕。
他双击打开Excel,新建一个工作表,把原始数据复制过去。鼠标移到“工具”菜单,点了“宏”,输入名称“CheckPrice”。光标闪在代码框里,他开始敲:
If Abs(Cells(i, 3) - Cells(i, 4)) > 0.1 Then
Cells(i, 5).Value = “ERROR“
这是他第一次写VBA宏。语法是从一本旧书上抄来的,变量名是现编的,循环结构试了三次才对。他记得书上说,这种校验能自动扫出开盘价和收盘价之间异常波动的数据点。只要运行一次,一百条记录就能筛完。
他按下F5。
程序卡住两秒,弹出提示:**内存不足,无法完成操作。**
陈帆盯着那行字,手指顿了一下。机器发出轻微的嗡鸣,硬盘灯狂闪,风扇转得越来越急。他试着关掉其他窗口,只留Excel,再点运行。屏幕闪白,整个程序直接退出。
他试了第三次。
这次连提示都没出,电脑直接僵住,键盘无响应。他长按电源键强制关机,等重启进系统,Excel打开文件时跳出警告:“部分格式可能丢失。”
他没说话,重新登录,再次载入数据表。
窗外传来脚步声,由远及近,停在他房门外。
“还没吃饭?”母亲的声音隔着门板传进来,“电脑玩太久对眼睛不好。”
“就快好了。”他应了一句,声音压得很平。
“九点半了,明天还要上学。”
“我知道,马上。”
外面静了几秒,脚步声退去。他松了口气,继续盯着屏幕。
宏跑不了,只能换办法。
他翻出抽屉里的《Excel实用技巧》,找到“条件格式”那一章。设定规则:如果某行收盘价与前一日差值超过0.1元,单元格自动标红。一条条加进去,每设完一行就手动测试一遍。速度慢,但至少不会崩。
一百零七条数据,他设了两个小时。
当最后一行颜色随数值变化而跳出来时,他靠回椅子,额头渗出一层薄汗。屏幕上,三处红色格外刺眼。他翻出原始剪报一一核对,果然,有两条是他在画图时记错了小数点位置,另一条是报纸印刷模糊导致录入偏差。
问题找到了。
他新建一个文档,准备把修正后的数据另存为备份。在“另存为”对话框里,手指敲下文件名:stock_data_19983。
刚按回车,他忽然意识到不对。
少了个零。
正确应该是“199803”,他输成了“19983”。
想改,却发现文件已经生成。他试着关闭再打开,Excel弹窗提示:“文件格式不受支持,或已损坏。”
他点重试,再点取消,最后直接删除文件,重新保存。
这一次,他一字一顿地核对:s-t-o-c-k-_-d-a-t-a-_-1-9-9-8-0-3。
(本章未完,请点击下一页继续阅读)