用于循环打印的Excel宏

时间:2018-01-23 22:03:39

标签: excel vba excel-vba

我无法创建一个非常基本的宏,可以在列中打印出一个值。

值由函数生成: f(x)= Exp(-x)* sin(x),其中x = 0到9 in for循环。

当前代码:

Function calculateFunction()
  MaxNumber = 9
  rowNumber = 1
    For i = 0 To MaxNumber
      Cells(rowNumber, 1) = Exp(-i) * Sin(i)
      rowNumber = rowNumber + 1
    Next
End Function

代码放在“模块1”中,并以文本:

运行
=calculateFunction()

在一个牢房里。填充的唯一单元格是单元格(1,1),表示“0.00”没有错误。

2 个答案:

答案 0 :(得分:3)

我认为将您的功能更改为:

更合乎逻辑
Function EXPSIN(i As Long) As Double
    EXPSIN = Exp(-i) * Sin(i)
End Function

然后使用以下公式填充目标单元格:

=EXPSIN(ROW()-1)

答案 1 :(得分:1)

使用Sub代替Function以更改其他单元格。您无法通过改变其他单元格的公式文本框(= ...)调用函数。当然,函数可以对单元格进行更改,但在单元格调用时则不会。在这里,您不需要返回某些内容的方法。