在这个的代码中,累计这一行有问题,
total=total+cells(i,2)
cells没有指定是哪个工作表的,运行的时候就会按活动工作表activesheet来计,这样每个工作表都是这么运行一遍,累计的都是当前activesheet的数,结果自然都是一样的。有两种改法:
1.指定累计工作表
total=total+w1.cells(i,2)
2.变更活动工作表,添加一行代码
w1.activate
'==代码,已将可修改的做加粗显示=============
Sub 计算成绩()
' 计算成绩 Macro
'i为工作表行号
Dim i As Integer, m As Integer, total As Integer
Dim w1 As Worksheet
For m = 1 To Worksheets.count
Set w1 = Worksheets(m)
w1.Activate
i = 2
total = 0
Do While w1.Cells(i, 2) <> ""
total = total + w1.Cells(i, 2)
i = i + 1
w1.Cells(2, 3) = total
Next m
End Sub
运行完了excel的三个工作表的结果一样,问题在哪呢?代码如下:Sub 计算成绩()' 计算成绩 Macro'i为工作表行号i = 2total = 0i = i + 1LoopNext mEnd Sub在这个的代码中,累计这一行有问题,cells没有指定是哪个工作表的,运行的时候就会按活动工作表activesheet来计,这样每个工作表都是这么运行一遍,累计的都是当前activesheet的数,结果自然都是一样的。
vba
工作
表
重命名By default, worksheet tabs in
Excel
are given generic names, such as Sheet1, Sheet2, and so on. If you have a lot of worksheets in your workbook, finding specific sheets can get tricky.
默认情况...
'#######################################################################################################
'使用说明:
'本代码适用的
Excel
文件特征如下;
'一个
Excel
文件...
在上篇博客https://blog.csdn.net/whandgdh/article/details/100184090,讲到了把一个
工作
表
拆分为多个,
那其实也可以把多个
工作
表
合并为一个。
继续之前的例子,我们把汇总
表
删除
把
表
1,2,3 合并到sheet5中
合并代码如下:
Sub 合并当前
工作
簿下的所有
工作
表
()
Application.ScreenUpdating = Fals...
'#######################################################################################################
'使用说明:
'本代码涉及的文件有两类,一类是被合并的Ex...
前言step 1 进入
excel
vba
编程界面step 2 粘贴代码step 3
运行
代码step 4 删除宏代码
这两天接触到
excel
比较多,才发现使用
excel
不仅仅是简单的复制粘贴。
excel
vb代码是非常强大,学会使用一些常用的功能,可以大大减少
工作
量。
废话不多少,来看
如下
表
格学
生成
绩
表
如果我们要把这个
表
按照班级拆分为
三个
表
,可能一般我们都是通过筛选后复制粘贴。但这...