今天在编写VBA程序时遇到一个很有趣的Bug,程序的功能是要读取一个Excel文件中的每一行内容,并把这一行内容按照一定的规则生成为目标Excel文件的新的Sheet,调试时发现一个很有意思的问题,单步调试没有问题,但是一旦整体运行就出错,调试了半天,我定位到了一段可疑区域:
这是改过以后的,原来,错误原因在于我直接用的是Cells(Pointer + 1, 13),而没有使用DataSheet.Cells(Pointer + 1, 13),改为绝对引用就好了!这也说明了在Excel VBA中使用绝对引用的重要性!