【场景】对EXCEL表格批量添加公式
【分析】
1、如何给单元格写值/公式
2、公式如何带变量
【Excel设置】
【实现】
0)代码书写的地方
1)代码
'Sheet1被激活时触发
Private Sub Worksheet_Activate()
Call SetFormula
Call TestSetA1ToA10
End Sub
'函数定义 设置A1至A10的单元格的值
Private Sub TestSetA1ToA10()
Dim i As Integer ' Dim var1 As Type(Integer)
For i = 1 To 10 Step 1 ' For var1 = nbegin To nEnd [Step 1]
Sheet1.Cells(i, 1) = i & "Row" ' & 类似于C++中的 << 操作符,用于连接,可用于不同类型数据间的连接
Next
End Sub
'函数定义 为写公式(加法公式)提供输入(加数和被加数)
Private Sub FillC1ToC8()
Dim i As Integer
For i = 1 To 8
Sheet1.Cells(i, 3) = i
Sheet1.Cells(i, 4) = i * 4
Next
End Sub
'函数定义 在C5列使用公式
Private Sub SetFormula()
Call FillC1ToC8
Dim i As Integer
For i = 1 To 8
Sheet1.Cells(i, 5).Formula = "=SUM(C" & i & ":D" & i & ")"
Next
End Sub
2)代码运行效果
切换Sheet页以触发 Sheet1 的激活事件
【知识点小结】
1)变量定义使用 Dim var Type
2)For循环的循环体以Next结束
For i = start To End Setp
DoSomething
Next
3)& 符用于连接不同的数据类型
【待解决】
1.是否存在带参数的函数?应该存在,该如何书写?
2.函数的触发时机待优化,不可能每次都全部计算一次。