相关疑难解决方法(0)

VB6传递值并通过引用传递

我正在努力理解按值传递并在VB6中通过引用传递.我完全理解这些概念是面向对象的编程语言,如.NET和Java(我意识到Java没有通过引用传递).看看下面的代码:

Private Sub Form_Load()

Dim Test As Integer
Test = 1
TestFunction Test 'line 5
MsgBox (Test)

End Sub

Private Sub TestFunction(ByVal i As Integer)
    i = i + 1
End Sub
Run Code Online (Sandbox Code Playgroud)

当我在第5行的Test周围放置括号时,消息框会按照我的预期打印1.现在看看下面的代码:

Private Sub Form_Load()

Dim Test As Integer
Test = 1
TestFunction Test 'line 5
MsgBox Test

End Sub

Private Sub TestFunction(ByRef i As Integer)
    i = i + 1
End Sub
Run Code Online (Sandbox Code Playgroud)

消息框按照我的预期打印2.但是,如果在第5行添加括号,则消息框将打印1,这是我不希望的.即使被调用函数中定义的变量是ByRef,看起来调用函数也可以通过值传递.反之亦然,即如果被调用函数具有定义为ByVal的变量的签名,则它将始终为ByVal(即使调用函数中的变量周围没有括号).在VB6中,这背后的想法是什么?我意识到这是VB6中的一个基本问题,但它让我很困惑.我已经阅读了MSDN文档,我意识到这一切都是正确的,但它并没有解释它背后的原因.

vb6 vbscript vba

12
推荐指数
2
解决办法
1万
查看次数

如何将多个参数传递给VBA中的过程?

我试图将两个字符串参数传递给Sub,但它不允许我这样做.我使用的方法如下.

Sub callByValue( str1 As String, str2 As String)
MsgBox str1
MsgBox str2

End Sub
Run Code Online (Sandbox Code Playgroud)

调用宏:

 Dim s1, s2 As String
 callByValue(s1,s2)
Run Code Online (Sandbox Code Playgroud)

在调用时callByvalue,它会抛出一个编译器错误.

excel vba excel-vba

9
推荐指数
2
解决办法
3万
查看次数

VB子程序调用语法错误?

在Excel电子表格后面的Visual Basic代码中,我有一个带参数的子例程.这是从另一个子程序调用的.

这是子程序声明:

Sub rowPasting(ByVal oldRow As Integer, ByVal newRow As Integer, ByVal oldSheet As Worksheet, ByVal newSheet As Worksheet)
Run Code Online (Sandbox Code Playgroud)

这是电话:

rowPasting(j,k,TTWorksheet,newSheet)
Run Code Online (Sandbox Code Playgroud)

我用作参数输入的所有变量都是有效的,因为在我尝试添加这个新的子程序之前,它们被用于程序的工作部分.

有关在调用中导致语法错误的原因的任何想法?

excel vba excel-vba

5
推荐指数
1
解决办法
4393
查看次数

VBA不接受我的方法调用并给出编译错误:语法错误

Public Sub SavePendleValues(ByVal row1 As Integer, ByVal row2 As Integer)
Run Code Online (Sandbox Code Playgroud)

打电话给它

For sheetrow = 2 To 15 ' number of rows to scan
    SavePendleValues (sheetrow, sheetrow)
Next sheetrow
Run Code Online (Sandbox Code Playgroud)

得到错误: Compile error: Syntax error

当我取消注释该行时: SavePendleValues (sheetrow, sheetrow)

一切正常.

debugging excel vba excel-vba

1
推荐指数
1
解决办法
1708
查看次数

标签 统计

vba ×4

excel ×3

excel-vba ×3

debugging ×1

vb6 ×1

vbscript ×1