用VBA实现满足条件时在单元格里写入组合的公式? vba中if多条件同时满足
VBA在单元格内写入公式
假定你要写公式的是2号工作表,在工作簿代码区粘贴以下代码即可:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets(2).Range("D10:H100").Clear '清除公式
End Sub
Private Sub Workbook_Open()
Sheets(2).Range("A1:C3") = 0
Sheets(2).Range("D10").Formula = "=LEFT(sheet1!E13,FIND(" & """" & "°" & """" & ",E13)-1)+MID(E13,FIND(" & """" & "∠" & """" & ",E13)+1,2)"
Sheets(2).Range("E10").Formula = "=XXXX"
Sheets(2).Range("F10").Formula = "=XXXX"
Sheets(2).Range("G10").Formula = "=XXXX"
Sheets(2).Range("H10").Formula = "=XXXX"
Sheets(2).Range("D11").Formula = "=XXXX"
Sheets(2).Range("E11").Formula = "=XXXX"
Sheets(2).Range("F11").Formula = "=XXXX"
Sheets(2).Range("G11").Formula = "=XXXX"
Sheets(2).Range("H11").Formula = "=XXXX"
Sheets(2).Range("D11:H100").FillDown '下拉填充公式
End Sub
注意:1、代码中XXXX是你要写的公式。2、公式中在引号时进行一定处理如代码中例式。3、你举例的公式引用了下边单元格,而下边单元格又填充公式,这好像有些问题。
如何用VBA在Excel中写入公式
用VBA在Excel中写入公式的方法:
把提取字符的公式写入sheet2单元格
Sub aa()
Sheet2.Range("A1").Formula = "=left(sheet1!A1,5)"
End Sub
直接把结果写入sheet2单元格
sub aa()
sheet2.range("A1").value=left(sheet1.range("A1").value,5)
end sub
VBA主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。
扩展资料:
VBA的相关要求规定:
1、VBA是基于Visual Basic for Windows 发展而来的。与传统的宏语言不同,传统的宏语言不具有高级语言的特征,没有面向对象的程序设计概念和方法。而VBA 提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。
2、VBA 易于学习掌握,可以使用宏记录器记录用户的各种操作并将其转换为VBA 程序代码。这样用户可以容易地将日常工作转换为VBA 程序代码,使工作自动化。
3、VB是独立的开发工具,不需要依附于任何其他应用程序,有自己完全独立的工作环境和编译、链接系统。VBA却没有自己独立的工作环境,必须依附于某一个主应用程序,VBA专门用于Office的各应用程序中,如Word、 Excel、 Access等。在 Access中,可以通过VBA编写模块来满足特定的需要。
参考资料来源:百度百科-VBA
Excel 请问:用VBA在单元格中如何写入公式
两种方法,比如你要在单元格A1当中输入公式=SUM(B1:C3) 可以使用以下代码
第一种: Range("A1").FormulaR1C1 = "=sum(RC[1]:R[2]C[2])"
第二种: Range("A1") = "=sum(B1:C3)"
如何用VBA写入这个公式?
用录制宏可以找到VBA的写法:
I=15
Range("O"&I).FormulaR1C1 = _
"=IF(ISTEXT(R[-10]C[-2]),SUMIF(汇总!R1C[-13]:R65536C[-13],'2月'!R[-10]C[-13],汇总!R1C[-1]:R65536C[-1]),IF(ISNUMBER(R[-10]C[-2]),R[-10]C[-2]+SUMIF(汇总!R1C[-13]:R65536C[-13],'2月'!R[-10]C[-13],汇总!R1C[-1]:R65536C[-1]),""定金错误""))"