Excel表格算式求和

2025-11-19 17:16:35

1、既然算式前面加等号就可以计算,直接手动输入又比较麻烦,是否可以使用公式把等号加进去的呢,其实是行不通的。如:F2单元格输入公式="="&C2,到头来只是算式前面多了个等号,并没有算出结果。

Excel表格算式求和

Excel表格算式求和

2、既然步骤①的方法行不通,那就改用VBA程序来处理。

按下【Alt+F11】组合键调出VBA编辑器,或者依次点击【开发工具】【Visual Basic】调出VBA编辑器。

Excel表格算式求和

Excel表格算式求和

3、在VBA编辑器的菜单栏上面点击【插入】【模块】插入模块。

Excel表格算式求和

4、在模块的代码框里面输入以下VBA程序代码,然后按下【F5】键运行程序。

Sub SuanshiSum()

Dim i1, i2, i3

On Error Resume Next  '忽略运行过程中可能出现的错误

Application.ScreenUpdating = False  '关闭屏幕更新,提高运行速度

Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表

For i1 = 2 To 1000

 Set MyRange1 = mysheet1.Range(mysheet1.Cells(i1, 2), mysheet1.Cells(i1, 5)) '定义单元格区域

 Set MyRange2 = mysheet1.Range(mysheet1.Cells(i1, 7), mysheet1.Cells(i1, 10))

 MyRange2.Value = ""  '清空单元格里面的内容

 i2 = Application.WorksheetFunction.CountBlank(MyRange1)  '统计空白单元格数量

 If i2 < 4 Then '如果所在范围不全是空白,则

  For i3 = 2 To 5

   mysheet1.Cells(i1, i3 + 5) = "=" & mysheet1.Cells(i1, i3) '在原单元格数值前面加=号

  Next

  mysheet1.Cells(i1, 1) = Application.WorksheetFunction.Sum(MyRange2) '求和

 End If

 MyRange2.Value = ""

Next

Application.ScreenUpdating = True  '启用屏幕更新

End Sub

Excel表格算式求和

5、VBA程序代码思路解读:

(1)既然是引用到了工作表上面的单元格作为中介,就应当保证该单元格区域没有数值,以免造成数据丢失;同时要关闭屏幕刷新,以提高程序的运行速度(主要是针对大数据计算,小范围计算可以忽略)。

(2)“Application.WorksheetFunction.CountBlank(MyRange1)”主要是统计计算区域单元格的空白个数,再判断计算区域是否全为空白,如果全是空白,则忽略,以提高运算速度,减少没必要的计算。

(3)VBA程序里面的mysheet1.Cells(i1, i3 + 5) = "=" & mysheet1.Cells(i1, i3),相当于是直接在算式前面加等号再赋到mysheet1.Cells(i1, i3 + 5)单元格里面,进而直接计算结果。(可以使用单引号屏蔽屏幕刷新程序后逐次按下【F8】键查看)

Excel表格算式求和

Excel表格算式求和

6、回到Excel工作表界面,将会看到计算结果。

Excel表格算式求和

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:90
  • 阅读量:188
  • 阅读量:86
  • 阅读量:76
  • 阅读量:124
  • 猜你喜欢