Select Case的用法错了,应该把 Case s <> i 改成 Case Is <> i,把 Case s = i 改成 Case i;而且这里也没必要用Select Case,用If多好 而且,就算改正了这里,你这代码好像跟原来的代码也不是同样的运行效果了,你应该只是想改 s = s & j & "+" 这一句吧,在这里判断后面是否需要加号,以免最后还要去掉一个加号;但是你把原来的If结构也给改了,原来是块If(Then后面啥都没有),你改成单行If了(把 s = s + j 这句写到Then后面去了)
关于If的单行形式和块形式的区别: 例题中的代码是块If,sum = sum + j 和 s = s & j & "+" 这两句都是在满足 i Mod j = 0 这个条件时才执行的 如果改成了单行If形式,比如: If i Mod j = 0 Then sum = sum + j s = s & j & "+" 这时,只有 sum = sum + j 这一句是在满足条件时才执行的语句,s = s & j & "+" 这句无论何时都会执行,效果自然就变了