|
- Sub lxqh()
- Dim x As Long, y As Long, sh As Long
- For sh = 1 To Sheets.Count
- With Sheets(sh)
- For x = 3 To 70
- y = .Cells(x, 3) + .Cells(x, 4) + .Cells(x, 5) + .Cells(x, 6) + .Cells(x, 7) + .Cells(x, 8)
- .Cells(x, 9) = y
- Next x
- End With
- Next sh
- End Sub
复制代码 这个是将就你自己的原代码进行添加的
首先给你提几点建议:
1、书写代码要规范,要有层次感(方便检查)可以按Tab向右缩进,Shift+Tab向左缩进
2、定义变量的时候,一定要给变量定义类型,除非它是不定类型的
3、最好加注释,方便以后修改
好了现在开始说代码吧:
你说的是只对sheet1起作用,那是因为你当前激活的工作表是sheet1,并且在代码中没有指定那个工作表,所以只是对sheet1起作用,如果在cells前面加上工作表名称比如sheets("sheet2").cells()那么就算你激活的是sheet1它也只是对sheet2表起作用。
如果你想全部表都起作用的话,那么就做个循环,就像3、4、9、10行代码。不过第6、7行代码中的cells()的前面就需要加个点 “.”
这个是with object……end with的用法
至于精简代码,可以参考4楼,使用For Each循环语句。 |
评分
-
查看全部评分
|