用VBA在excel中插入函数公式

在A列是日期,现在想在B列通过VBA代码自动插入函数公式,计算A列单元格的各个日期的星期几,请问这个代码怎么写?谢谢

1、打开Excel程序,按键盘组合键“Alt+F11”或切换至“开发工具”功能区并点击“Visual Basic”按钮进入VBA环境。

2、在VBA环境下,右击“Microsoft Excel对象”,从弹出的菜单中选择“插入”->“模块”项。

3、在打开的模块窗口中,输入以下代码:

Function 三项合并计算(a, b, c)

    三项合并计算 = a * b + c

End Function

该代码用于对提供的三个参数进行计算,结果返回函数本身。

4、接着返回Excel界面,在单元格中输入公式“=三项合并计算(2,3,5)”并按回车键即可得结果。

5、当然,还可以通过引用三个单元格数据来实现同样的计算功能:分别在A2、B2、C2单元格中输入2,3,5,在D2单元格中输入“”并按回车键即可得结果。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-01
Sub Macro1()
X = [A65536].End(3).Row
Range("B2").FormulaR1C1 = "=IF(RC[-1]="""","""",TEXT(RC[-1],""AAAA""))"
Range("B2").AutoFill Destination:=Range("B2:B" & X)
Range("B2:B" & X) = Range("B2:B" & X).Value '如果要保留公式,取消这一句.
Range("A1").Select
End Sub

注:假定第一行为表头,如果无表头,将所有"B2"改为"B1"即可.本回答被提问者和网友采纳
第2个回答  2008-10-01
WorksheetFunction属性,从VB中调用函数的容器,可以利用它在代码中直接用函数来返回结果。语句大概这样写:
Cells(20, 12) = Application.WorksheetFunction.SumIf(sheet1.Range(A5:A18), sheet1.Cells(1, 5), sheet1.Range(B5:B18)),这里调用的是SUMIF函数,写法和编公式是一样的,只不过公式中可以使用变量,更加方便了。
第3个回答  2008-10-01
奇怪地说,为什么要通过VBA代码自动插入函数公式,直接在表格中输入公式不完了吗?=weekday(a1)
相似回答