是否有方法使用VBA for Excel将公式输出到Excel工作表中的特定单元格?

是否有方法使用VBA for Excel将公式输出到Excel工作表中的特定单元格?,vba,excel,Vba,Excel,我对编程相当陌生。我觉得这应该是一个简单的解决办法,但我找不到任何工作。我试图使用选择案例结构根据所选案例向单元格写入不同的公式。如果我键入: Sheet1.Range("g10").Value = "=IF(SUM(F10)>0,SUM((F10-15)),"")" 我得到一个错误: 运行时错误“1004” 应用程序定义或对象定义错误 我可以让它工作,如果我包括这样的空间: Sheet1.Range("g10").Value = " =IF(SUM(F10)>0,SUM((F1

我对编程相当陌生。我觉得这应该是一个简单的解决办法,但我找不到任何工作。我试图使用
选择案例
结构根据所选案例向单元格写入不同的公式。如果我键入:

Sheet1.Range("g10").Value = "=IF(SUM(F10)>0,SUM((F10-15)),"")" 
我得到一个错误:

运行时错误“1004”
应用程序定义或对象定义错误

我可以让它工作,如果我包括这样的空间:

Sheet1.Range("g10").Value = " =IF(SUM(F10)>0,SUM((F10-15)),"") "
但是Excel将其放入单元格式文本中,而不是作为公式(它不做任何事情)

我尝试了几种不同的方法,但遇到了相同的问题。有可能这样做吗


如果已经询问并回答了此问题,我深表歉意,但我无法找到任何人引用此特定问题。

错误属性。你需要的是。公式而不是。值

worksheets("sheet1").range("g10").formula = "=IF(SUM(F10)>0,SUM((F10-15)),"")"

您不需要对单个单元格求和,即
sum(F10)
sum((F10-15))
F10-15
相同

尝试以下操作:
Sheet1.Range(“g10”).Formula=“=IF(F10>0,F10-15,””)
另请注意,结尾处需要将双引号加倍

注意,您也可以在以下范围内执行此操作:


Sheet1.Range(“g10:g20”).Formula=“=IF(F10>0,F10-15,”””)
并且它足够智能,可以为您增加10个单元格的引用。

您应该能够键入公式,然后打开宏记录器并双击论坛中的单元格,然后关闭宏记录器并检查代码。(a)如果要编写公式,请使用
公式
属性。(属性有时会起作用,但要安全并使用正确的属性。)(b)字符串文字中的双引号字符需要转义-因此您需要
Sheet1.Range(“g10”).Formula=“=IF(SUM(F10)>0,SUM((F10-15)),“”“)”
的可能重复项。还有重复的,还有更多。谢谢,我在以前的搜索中没有找到这些结果。我会努力更加勤奋!您仍然需要修复双引号-此时代码将生成一个公式
=IF(SUM(F10)>0,SUM((F10-15)),”
,这不是有效的Excel公式。