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
。
如果这不起作用,还有其他一些事情要考虑:
-
我在代码中看到的一个直接的问题是Worksheet_Change子实际上应该被定义为
Private Sub Worksheet_Change(ByVal Target As Range)
-
确保该函数位于您想要捕获事件的特定工作表的代码页中 。 如果你把它放到一个普通的代码模块中,它将不会被调用。
-
你可能想要解决的另一个问题是,现在的代码将重新计算每一个单元格被修改,而不仅仅是A1或B1。 您可以将代码放在If语句中,以限制执行重新计算的时间。
或工作表(“Sheet1”)。单元格(3,1).Value = totalCost