Excel VBA:执行函数后调用Sub过程

时间:2013-11-23 18:53:05

标签: excel vba excel-vba

在myFunction中,我想在工作表中创建一个日志,其中包含函数的参数和上次执行的时间。

我的代码是这样的:

Function myFunction(arg1, arg2 As String)

   //code here

   Sheets("Sheet1").Range("A1") = arg1
   Sheets("Sheet1").Range("B1") = arg2
   Sheets("Sheet1").Range("C1") = datetime.Now

End Function

此功能不适用于最后3行(否则)。

我还尝试为此任务创建一个单独的模块:

Function myFunction(arg1, arg2 As String)

       //code here

    Call myLog(arg1,arg2)

    End Function

但它不起作用

Public Sub myLog(arg1,arg2)
   Sheets("Sheet1").Range("A1") = arg1
   Sheets("Sheet1").Range("B1") = arg2
   Sheets("Sheet1").Range("C1") = datetime.Now
End Sub

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

“当我在单元格中键入函数时,它只返回#VALUE!错误。”

函数只能修改调用它的单元格。因此,当您尝试修改其他单元格时,您将收到错误。

以下是一些可能有用的参考资料:

Making Excel functions affect 'other' cells

VBA - Update Other Cells via User-Defined Function

http://www.vbforums.com/showthread.php?508759-Counting-Particular-Letter-Occurrences-in-a-String