我有一些非常简单的代码,我试图将一个子(调用父)的参数传递给另一个。修改某些值,而不修改其他值并完成。我似乎失败了。不知道为什么。这是一些代码
Sub Parent_sub()
Dim v1,v2,v3 as Integer
v1 = 0
v2 = -1
v3 = -2
Child_sub v1, v2, v3
msgbox "the variables are " & v1 & " ," & v2 & ", and " & v3
End Sub
Sub Child_sub(ByVal c1 as Integer, ByRef c2 as Integer, ByRef c3 as Integer)
c1 = 3
c2 = 4
c3 = 5
End Sub
我很难理解为什么会出现编译错误(编译错误; ByRef参数类型不匹配;它出现在v2参数上的Child_sub调用中)。我将Excel 2016用于家庭和企业。有什么有用的提示吗?
只是为了避免一些可能的简单响应;我尚未定义两个具有相同名称(!)的子变量,也未在代码中的其他任何地方(已选中)进一步重新定义了变量。对我来说,这是一个非常奇怪的事情。请帮助,我是个白痴!
答案 0 :(得分:0)
VBA没有分号,因此您需要删除这些分号。这实际上是代码中唯一的语法错误。其他只是功能。
@JsonIgnoreProperties(ignoreUnknown = true)
仅使v3成为整数。您需要为每个变量重复数据类型。
最后,如果要让子子编辑变量,则需要Dim v1,v2,v3 as Integer
关键字。您在c2和c3上使用了它,但在c1上没有使用
ByRef