Excel使用VBAreplace单元格格式

好的,所以我想找出一种方法来改变工作表中的单元格在Excel 2007的背后,用VBA,所以如果我有单元格A1和B1中的东西,然后C1将自动填充答案,没有在框中的任何公式。

我试过了

Private Sub Worksheet_Change() dim weekCost as integer dim monthCost as integer dim salesTax as integer dim totalCost as integer weekCost = Range("$A$1") monthCost = Range("$B$2") salesTax = (weekCost + monthCost) * .08 totalCost = weekCost + monthCost totalCost = salesTax + totalCost totalCost = range("$C$1") end sub 

我不能得到总成本坚持到那个单元任何一个知道如何?

您的任务陈述是反向的,请尝试:

 Range("C1") = totalCost 

最明显的解决方法是将最后一行更改为range("$C$1").Value = totalCost

如果这不起作用,还有其他一些事情要考虑:

  1. 我在代码中看到的一个直接的问题是Worksheet_Change子实际上应该被定义为Private Sub Worksheet_Change(ByVal Target As Range)

  2. 确保该函数位于您想要捕获事件的特定工作表的代码页中 。 如果你把它放到一个普通的代码模块中,它将不会被调用。

  3. 你可能想要解决的另一个问题是,现在的代码将重新计算每一个单元格被修改,而不仅仅是A1或B1。 您可以将代码放在If语句中,以限制执行重新计算的时间。

或工作表(“Sheet1”)。单元格(3,1).Value = totalCost