原因应该是,你在为Cell赋值时,这个Workbook_SheetChange事件被再次调用,引起循环调用,导致堆栈溢出。如果不想在Change事件调用后被重入,请在change事件的头上使用Application.EnableEvents=False来禁止事件在最后用Application.EnableEvents=True来恢复事件捕捉祝你顺利