Tag: byref

如何将一个函数的variables传递给另一个函数?

我正试图将一个函数的variables传递给另一个函数。 我的第一个想法是使用ByRef声明,我听到将在Visual Basic中通过引用传递参数。 但是,我不清楚如何使用它。 现在我有以下代码。 Function number(x As Double) As Double Dim z As Double z = 10.5 number = x End Function Function triple(ByRef z As Double) As Double z = z * 3 triple = z End Function 可以说A1=2.5 。 如果我说B1=number(A1)那么答案是我预期的2.5。 然后我说B2=triple(B1)但答案是7.5而不是31.5。 我不知道为什么它取的是A1的值,而不是从函数number中取出variablesz的number 。 这是工作表的屏幕截图 提前致谢。

VBA:我的程序在格式上引发编译错误

所以我正在与我的计划。 它工作和运行,所以我复制它,并做了第二个版本,我可以添加额外的function,同时还有一个工作程序。 我没有看到我的新代码的任何问题,所以我准备步入它。 突然之间在我的另一个版本中工作得很好的东西是抛出编译错误。 下面的细节。 Dim elapsedTime As String Dim startTime As Date startTime = Now() 'code elapsedTime = Format(Now() – startTime, "h:m:s") 我一次又一次地检查,但是这个完全相同的代码在我的其他文件中工作正常。 在此文件中,它突出显示“格式”并引发以下编译错误。 有谁知道为什么excel会越来越难过呢? 如果有编译错误,我甚至应该看看它突出显示的地方吗?

VBA:我的程序正在抛出编译错误ByRef

我正在运行一个正在运行的程序。 我做了一个副本,以testing使我的代码更模块化。 下面是一个循环内部的一个子运行,通过调用第一个运行变为两个子运行。 Sub Trendline() Dim eqn, name As String Dim cht As ChartObject Dim i As Integer For Each cht in Worksheets(1).ChartObjects If cht.Chart.SeriesCollection(1).Trendlines.Count > 0 Then cht.Activate name = Split(ActiveChart.name)(1) i = Worksheets(name).Range("Z2").Value 'indicates what kind of trendline eqn = ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.Text 'the trendline has both R-square and Equation displayed eqn = Split(eqn, Chr(10))(0) […]

Excel VBA传递对象ByRef永远不会工作

我一直在使用VBA多年,但在所有那些时间,我从来没有设法通过一个工作簿或工作表ByRef,我不得不使用string名称和设置对象在合作伙伴或function…所以最后现在是时候得到一些帮助! Sub SubOne() Dim wb as workbook Dim filepath as string filepath = "//somepath/somebook.xlsx" Set wb = application.workbooks.open(filepath) Call SubTwo(wb) End Sub Sub SubTwo(ByRef wb as workbook) debug.print wb.name End Sub 任何人都可以看到为什么这会触发ByReftypes不匹配编译错误? 我错过了什么? 非常感谢